❶ c語言中調用bmp圖片時能否設置圖片顯示的大小與位置最好有直接可以使用的函數!
1.使用MFC相關的控制項或者用GDI+的類載入bmp圖片大小實現縮放功能(比較簡單),參考下面代碼
//建立圖形對象
GraphicsmGraphics(dc.GetSafeHdc());
//裝入圖像文件
Imageimg(L"./res/test.jpg",TRUE);
//在指定區域pdestPoints顯示圖像
/*//根據背景大小按比例縮放
CRectrcClient;
GetClientRect(&rcClient);
BOOLbWidth=rcClient.Width()/img.GetWidth()>rcClient.Height()/img.GetHeight();
if(bWidth)
{
mGraphics.DrawImage(&img,0,0,rcClient.Width(),rcClient.Width()*img.GetHeight()/img.GetWidth());
}
else
{
mGraphics.DrawImage(&img,0,0,rcClient.Height()*img.GetWidth()/img.GetHeight(),rcClient.Height());
}
2.自己實現
搜索雙線性插值或者三線性插值演算法,搞明白再寫代碼
❷ C語言問題:有函數調用的流程圖怎麼畫
初學C語言的同學應該首先了解C語言關鍵的核心概念(結構化、<WBR三個執行流程、優先順序、指針、文檔、共用體、函數、作用域、<WBR重載等
),<WBR只有弄明白了這些才能在今後的學習中游刃有餘的把握C語言的精髓<WBR。這幾個概念就像邏輯線相同,把整個C語言的體系貫穿起來,<WBR給人一種「結構化」的思想體系。<WBR下面我簡要談一下這幾個核心概念。
1、從宏觀角度來看,結構化是C語言的編程思想基礎,<WBR就是說C語言每一個功能模塊就是個結構,<WBR每一個結構實現一個運算或一個演算法,這個結構就用大括弧表示「{
}」,大括弧裡面的就是演算法。尤其注意的是大括弧的「}」<WBR括在那裡,就決定在哪裡結束演算法功能。<WBR這些是初學者經常犯的錯誤,往往會把演算法功能的結束點弄錯。
2、
三個執行流程就是順序流程、條件流程、循環流程。<WBR三個流程都是電腦通用的執行流程,是必須了解的流程,<WBR每一個演算法都基於這三個流程執行順序。
3、
優先順序是對多個函數並列時候優先演算法的特權,<WBR沒有注意優先順序的順序就會把演算法出錯,這些優先順序是必須記住的。
4、
指針是C語言的重要特點,是對運算速度加快運算的重要精髓。<WBR他是對數據地址的操作,而不是對數據的操作。
5、文檔和共用體是很簡單的概念,不用多說了。<WBR文檔顧名思義和日常概念相同,<WBR學過數據軟體的都對共用體了解不是太難。
6、從微觀角度來看,函數是C語言的驅動機制,<WBR任何的語句都由函數驅動來實現的。<WBR記住函數命令和相關的配置參數,就能好好的利用C的優勢。<WBR注意的是,函數不能記錯,不然您將得出錯的結果。<WBR假如能學會調試,那就會更深一層了解函數功能的作用。
7、作用域就像使用期限相同,說明從那裡到那裡所起的作用,<WBR在這之外的就不起作用了(過期的東西就不值錢相同)。<WBR把握好作用域的使用方式,就能明確函數的關系,<WBR不會在巨大的函數名裡面迷失方向。
8、重載就是為了方便用戶,<WBR使用類似於調用的機制給用戶減少寫入時間的功能。<WBR就像查字典相同,您不懂一個字,就要去查字典(<WBR相當於調用別的工具來實現您要做的事),<WBR而查字典是您已學會的東西,就能夠做這件事了。
學習C語言從大體上了解還不夠,要把各種原理在腦海里模擬一遍,<WBR實現把電腦C的功能在人腦里運作,就能從宏觀上把握C的步驟。
❸ 函數調用圖形c語言
#include"stdio.h"
voidprintMap(charm,intn)
{
inti,j,k;
for(i=0;i<n;i++)
{
for(j=i;j<n-1;j++)
{
printf("");
}
for(k=0;k<2*i+1;k++)
{
printf("%c",m);
}
printf(" ");
}
}
intmain()
{
charm;
intn;
scanf("%c%d",&m,&n);
printMap(m,n);
}
結果:
❹ C語言問題:有函數調用的流程圖怎麼畫
1、以特定的圖形符號加上說明,表示演算法的圖,稱為流程圖或框圖。
注意事項:
流程圖是流經一個系統的信息流、觀點流或部件流的圖形代表。在企業中,流程圖主要用來說明某一過程。這種過程既可以是生產線上的工藝流程,也可以是完成一項任務必需的管理過程。
❺ 用C語言怎樣調用圖片要一個完整的,有重獎!
如果只是讀數據,用file
open就行,如果想顯示,最簡的是shell外調系統程序打開圖片,如果想自已讀,自已繪制出來,bmp的還好,數據格式很簡單,一個像素一個像素的讀寫就是了,如果是jpg,
tif等等,壓縮演算法你是寫不出來的。代碼很長,這兒不發表了。如果想支持各種格式的圖像,你還是用現有的庫吧,別指望自已能弄出來。
❻ c語言調用圖片函數
c語言調用圖片函數
據我所知Matlab有,imshow(),c好象沒有,c只能先將圖片讀到內存中,經過相關處理後以一定的格式保存到硬碟中,然後再打開圖片.
讀圖和存圖需要有專門的函數,這些可以參考:
unsigned
char*
ReadBMPData(int
Width,
int
Height,
char
*fname)//圖像的寬和高,圖像的位置(包括後綴)
{
unsigned
char*
image
=
new
unsigned
char[Width*Height];
FILE
*fp;
fp
=
fopen(fname,
"rb");
fread(image,
1,
Width*Height,
fp);
fclose(fp);
return
image;
}
///////////////////////////
void
WriteRawData(unsigned
char*
image,
int
Width,
int
Height,
char
*fname)
{
FILE
*fp;
fp
=
fopen(fname,
"wb");
fwrite(image,
1,
Width*Height,
fp);
fclose(fp);
}
❼ c語言調用圖片
c語言調用圖片函數
據我所知Matlab有,imshow(),c好象沒有,c只能先將圖片讀到內存中,經過相關處理後以一定的格式保存到硬碟中,然後再打開圖片.
讀圖和存圖需要有專門的函數,這些可以參考:
unsigned char* ReadBMPData(int Width, int Height, char *fname)//圖像的寬和高,圖像的位置(包括後綴)
{
unsigned char* image = new unsigned char[Width*Height];
FILE *fp;
fp = fopen(fname, "rb");
fread(image, 1, Width*Height, fp);
fclose(fp);
return image;
}
///////////////////////////
void WriteRawData(unsigned char* image, int Width, int Height, char *fname)
{
FILE *fp;
fp = fopen(fname, "wb");
fwrite(image, 1, Width*Height, fp);
fclose(fp);
}
❽ C語言調用圖片
VC裡面可以直接調用bmp格式的文件
用CBitmap類就可以了
//CBitmap對象
CBitmap bitMap;
//設備環境類對象
CDC dcMemory;
//載入資源點陣圖
bitMap.LoadBitmap(IDB_BITMAP1);
//bitMap.LoadBitmap("xxx.bmp");
//創建內存設備環境
dcMemory.CreateCompatibleDC(pDC);
//把點陣圖選進內存設備環境,並保存舊的GDI點陣圖對象
CBitmap *oldBitmap = dcMemory.SelectObject(&bitMap);
//顯示
//pDC->BitBlt(0,0,400,300,&dcMemory,200,100,SRCCOPY);
//拉伸
pDC->StretchBlt(0,0,450,250,&dcMemory,0,0,400,300,SRCCOPY);
//釋放bitmap,恢復GDI點陣圖
dcMemory.SelectObject(oldBitmap);
❾ C語言怎麼調用圖片
圖片也是一個文件,
1.你是要打開圖片嗎?(把圖像顯示出來?)
2.還是只需要圖片文件。
如果是1,那麼你需要看.bmp的編碼方式和c庫的圖像類函數
如果是2,那麼你就可以用fopen,fread,fwrite,fprintf,fscanf等調用即可。
❿ c語言如何調用圖片
直接調用並顯示JPG BMP等格式圖片的函數好像沒有,要自己編寫。
首先要弄清楚圖片格式的編碼方式,然後設置解析度,可以顯示出來。
void far getimage(int left,int top,int right,int bottom,void far *buf)
說明:把屏幕圖形部分拷貝到由BUF所指向的內在區域,左上角和右下角圖標。用函數IMAGESIZE()來確定存儲圖像所需位元組數。用GETIMAGE()存儲的圖像可以用PUTIMAGTE()函數寫到屏幕上。