1. 怎麼用c語言將一幅圖片進行旋轉後保存到磁碟里
旋轉 只能 是90°的整數倍.
而且要新申請一塊區域來保存.
建議你學一下openCV.
2. 求用C語言size=imagesize選定一區域的圖形旋轉
這要你在用putimage的時候做調整了啊!
3. c語言 讀取一副BMP格式的圖像文件,並將並將其旋轉180度後輸出一個新的BMP格式的圖
先去看看bmp圖片的格式,一般就是文件頭信息和文件數據信息。
你需要做的是先從bmp圖片中解析出頭信息,找到是什麼格式的888,565,555這種,然後還需要找到寬高,旋轉180°就是將數據左右對稱,上下對稱。
最後把頭信息和你改過的數據信息組合起來就可以了
4. 用c語言實現將bmp圖片(黑白單色)進行任意角度旋轉。求高手給完整代碼。
typedef int (WINAPI ICEPUB_IMGCIRCUMGYRATE)(char *strImgFilename,char *strBmpFilename,int radian);
ICEPUB_IMGCIRCUMGYRATE *icePub_imgCircumgyrate = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_imgCircumgyrate=(ICEPUB_IMGCIRCUMGYRATE *)GetProcAddress(hDLLDrv,"icePub_imgCircumgyrate");
}
if(icePub_imgCircumgyrate)
{
icePub_imgCircumgyrate("a.jpg","a1.bmp",45);
icePub_imgCircumgyrate("d.png", "d1.bmp",120);
}
if(hDLLDrv)
FreeLibrary(hDLLDrv);
5. 請問如何在CCS3.3上用C語言實現圖像旋轉處理,有具體的代碼嗎
你好,C語言基本都忘得差不多了。
具體代碼就只有自己花時間做了。
6. 求用純c語言寫的使圖像翻轉90°的源程序。
請參考bmp文件的數據結構, jpeg的圖像可以通過libjpeg提供的函數解壓,得到的數據和bmp文件中直接讀取的點陣圖數據是一樣的。 數據都是以圖形掃描線的格式存放, 但是由於圖形可能有不同的色深,不同的模式和壓縮方式, 代碼會比較復雜。
在一般的linux里我們直接調用gd庫來實現這些操作, 但我不知道gd在嵌入式的環境下是不是一樣操作的(gd 支持arm), 你可以去參考gd的手冊。
7. 求c語言高手賜一個關於圖像旋轉的程序,謝謝!!
原型:
int WINAPI icePub_imgCircumgyrate(char *strImgFilename,char *strBmpFilename,int radian)
輸入:strImgFilename 待處理圖像文件名
strBmpFilename 結果bmp文件名
radian 旋轉角度
輸出:
typedef int (WINAPI ICEPUB_IMGCIRCUMGYRATE)(char *strImgFilename,char *strBmpFilename,int radian);
ICEPUB_IMGCIRCUMGYRATE *icePub_imgCircumgyrate = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_imgCircumgyrate=(ICEPUB_IMGCIRCUMGYRATE *)GetProcAddress(hDLLDrv,"icePub_imgCircumgyrate");
}
if(icePub_imgCircumgyrate)
{
icePub_imgCircumgyrate("a.jpg","a1.bmp",45);
icePub_imgCircumgyrate("d.png", "d1.bmp",120);
}
if(hDLLDrv)
FreeLibrary(hDLLDrv);
8. c語言程序設計 繪制機械圖並旋轉
怎麼這題這么多人問。。。
很簡單呀,只不過你的視角是從哪一點出發的,
你先把圖形轉Z坐標轉90角,就是左側了(我假設Z軸是豎的)
然後把把X,Y,Z分別變大用
矩陣寫就是
cos90
-sin90
0
0
sin90
cos90
0
0
0
0
1
0
0
0
0
1
(這個矩陣你要確定你是概哪概坐標軸旋轉,這里我是根據Z軸旋轉90度)
乘於
0.5
0
0
0
0
1
0
0
0
0
2
0
0
0
0
1
9. c語言怎麼旋轉一個矩陣
#include<stdio.h>
int main()
{int i,j,t,n,a[20][20];
scanf("%d",&n);
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
{a[i][j]=i*n+j+1;
printf("%3d",a[i][j]);
}
printf(" ");
}
printf(" ");
for(i=0;i<=n/2;i++)
for(j=i;j<n-i-1;j++)
{t=a[i][j];
a[i][j]=a[j][n-1-i];
a[j][n-1-i]=a[n-1-i][n-1-j];
a[n-1-i][n-1-j]=a[n-1-j][i];
a[n-1-j][i]=t;
}
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("%3d",a[i][j]);
printf(" ");
}
return 0;
}
10. C語言 圖形翻轉``
#include<stdio.h>
main()
{
int a[100][100],i,j,n,m,t,s,k;
scanf("%d %d %d",&m,&n,&t);//M為行 N為列 T為翻轉的方式
for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
}
if(t==1)
{
for(s=0;s<i/2;s++)
for(j=0;j<n;j++)
{
k=a[i-s-1][j];
a[i-s-1][j]=a[s][j];
a[s][j]=k;
}
}
if(t==-1)
{for(s=0;s<j/2;s++)
for(i=0;i<m;i++)
{
k=a[i][j-s-1];
a[i][j-s-1]=a[i][s];
a[i][s]=k;
}
}
for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
printf(" %d",a[i][j]);
printf("\n");
}
}