欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言實現(xiàn)圖片放大縮小

 更新時間:2022年05月12日 14:19:33   作者:輝小歌  
這篇文章主要為大家詳細介紹了C語言實現(xiàn)圖片放大縮小,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言實現(xiàn)圖片放大縮小的具體代碼,供大家參考,具體內容如下

最終項目描述和效果

鼠標按小圖,左鍵圖片縮小,右鍵圖片放大。

代碼如下

代碼大致的思路就是,當鼠標點擊指定的地方時。
將圖片的長寬,變化,在貼圖。
使用: 將圖片命名為1.jpg,并將其放在和.cpp文件同一文件夾下。

#include<stdio.h>
#include<graphics.h>
#include<conio.h>
IMAGE maxImg;//大圖
IMAGE minImg;//小圖
struct picture
{
?? ?int width;//寬
?? ?int langth;//長
?? ?int value;//比率
};
struct picture a={400,400,2};
void jia()//加載圖片
{
?? ?loadimage(&maxImg,"1.jpg");
?? ?loadimage(&minImg,"1.jpg",60,60);
}
void show_p()//顯示圖片
{
?? ?putimage(20,20,&minImg);
?? ?putimage(100,0,a.width,a.langth,&maxImg,0,0);
}
void show()
{
?? ?setbkcolor(WHITE);//設置窗口背景顏色
?? ?cleardevice();//刷新一下
?? ?setlinecolor(BLACK);//設置線的顏色
?? ?setlinestyle(PS_SOLID,5);//設置線的樣式
?? ?//畫矩形
?? ?rectangle(0,0,500,400);
?? ?rectangle(0,0,100,400);
?? ?rectangle(0,133,100,133*2);
?? ?//顯示文字
?? ?settextcolor(GREEN);
?? ?settextstyle(20,0,"黑體");
?? ?outtextxy(10,180,"左鍵縮小");
?? ?outtextxy(10,320,"右鍵放大");
?? ?show_p();
}

void to_small()
{
?? ?if(a.langth!=1&&a.width!=1)
?? ?//不能讓長寬等于1,如果等于1的話那么長寬就會變?yōu)?,再次變大就有問題了.
?? ?{
?? ??? ?a.width/=a.value;
?? ??? ?a.langth/=a.value;
?? ?}
?? ?loadimage(&maxImg,"1.jpg",a.width,a.langth);
}
void to_big()
{
?? ?a.width*=a.value;
?? ?a.langth*=a.value;
?? ?loadimage(&maxImg,"1.jpg",a.width,a.langth);
}
void mouse()
{
?? ?MOUSEMSG m;
?? ?while(1)
?? ?{
?? ??? ?BeginBatchDraw();//雙緩存繪圖,解決閃屏問題
?? ??? ?show();
?? ??? ?m=GetMouseMsg();
?? ??? ?switch(m.uMsg)
?? ??? ?{
?? ??? ??? ?case WM_LBUTTONDOWN://左鍵
?? ??? ??? ?if(20<=m.x&&m.x<=80&&m.y>=20&&m.y<=80)
?? ??? ??? ?{
?? ??? ??? ??? ?//MessageBox(NULL,"鼠標點擊圖片","123",MB_OK);
?? ??? ??? ??? ?to_small();
?? ??? ??? ?}
?? ??? ??? ?break;
?? ??? ??? ?case WM_RBUTTONDOWN://右鍵
?? ??? ??? ?if(20<=m.x&&m.x<=80&&m.y>=20&&m.y<=80)
?? ??? ??? ?{
?? ??? ??? ??? ?//MessageBox(NULL,"鼠標點擊圖片","123",MB_OK);
?? ??? ??? ??? ?to_big();
?? ??? ??? ?}
?? ??? ??? ?break;
?? ??? ?}
?? ??? ?EndBatchDraw();
?? ?}
}
int main(void)
{
?? ?initgraph(500,400);
?? ?show();
?? ?jia();
?? ?mouse();
?? ?return 0;
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • cin.get()和cin.getline()之間的區(qū)別

    cin.get()和cin.getline()之間的區(qū)別

    以下是對cin.get()和cin.getline()的區(qū)別進行了詳細的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-09-09
  • 解析c語言switch中break語句的具體作用

    解析c語言switch中break語句的具體作用

    以下是對c語言switch中break語句的作用進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-07-07
  • C語言的空類型指針,空指針,野指針詳解

    C語言的空類型指針,空指針,野指針詳解

    這篇文章主要介紹了C語言的空類型指針,空指針,野指針的詳解及用法示例,介紹了其相關概念,然后分享了幾種用法,具有一定參考價值。需要的朋友可以了解下。
    2021-09-09
  • C語言實現(xiàn)掃雷小游戲完整算法詳解(附完整代碼)

    C語言實現(xiàn)掃雷小游戲完整算法詳解(附完整代碼)

    掃雷游戲想必我們都有玩過,那么今天就用C語言來簡單實現(xiàn)“掃雷”小游戲,這篇文章主要給大家介紹了關于C語言實現(xiàn)掃雷小游戲完整算法的相關資料,文中給出了完整的實例代碼,需要的朋友可以參考下
    2022-06-06
  • C++實現(xiàn)LeetCode(93.復原IP地址)

    C++實現(xiàn)LeetCode(93.復原IP地址)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(93.復原IP地址),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • C語言time.h庫函數(shù)的具體用法

    C語言time.h庫函數(shù)的具體用法

    C語言的time.h頭文件提供了一系列的函數(shù)和工具,用于處理時間和日期相關的操作,本文主要介紹了C語言time.h庫函數(shù)的具體用法,感興趣的可以了解一下
    2023-12-12
  • C++從一個文件夾中讀出所有txt文件的方法示例

    C++從一個文件夾中讀出所有txt文件的方法示例

    這篇文章主要給大家介紹了關于C++從一個文件夾中讀出所有txt文件的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-03-03
  • C語言超詳細文件操作基礎下篇

    C語言超詳細文件操作基礎下篇

    這篇文章主要為大家詳細介紹了C語言的文件操作,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C++ 淺談emplace_back及使用誤區(qū)

    C++ 淺談emplace_back及使用誤區(qū)

    這篇文章主要介紹了C++ 淺談emplace_back及使用誤區(qū),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Qt讀取Json文件的方法詳解(含源碼+注釋)

    Qt讀取Json文件的方法詳解(含源碼+注釋)

    QT本身就有讀取json的接口,簡單又方便,下面這篇文章主要給大家介紹了關于Qt讀取Json文件(含源碼+注釋)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-10-10

最新評論