C语言的库函数中有打开以有图片的函数么??~
在C语言中有 打开图片,保存图片的函数么? 麻烦告诉小弟我下3Q
[解决办法]
是的,图像文件反正也是文件 直接打开就好了
楼主可以去看下bmp格式 以前在linux下写过,差不多的,楼主可以借鉴一下
bool CBitmap::LoadBitMap(const char *lpszFileName, unsigned long ulTransColor, bool bTransparent, int x, int y)
{
FILE *fp = fopen(lpszFileName, "r+b ");
if (!fp)
{
return false;
}
BITMAPFILEHEADER bmpheader;
BITMAPINFOHEADER bmpInfo;
int i, j, offset;
unsigned short biBitCount;
unsigned long color = 0;
fread(&bmpheader, sizeof(BITMAPFILEHEADER), 1, fp);
fread(&bmpInfo, sizeof(BITMAPINFOHEADER), 1, fp);
fseek(fp, bmpheader.bfOffBits, SEEK_SET);
biBitCount = bmpInfo.biBitCount;
//每读一行结束后,偏移与4字节对齐时,0的个数
offset = (4 - (bmpInfo.biWidth*biBitCount/8) % 4)%4;
//读取位图数据段数据
for ( j = bmpInfo.biHeight - 1; j > = 0; j--)
{
for (i = 0; i < bmpInfo.biWidth; i++)
{
fread(&color, biBitCount/8, 1, fp);
if ( bTransparent && (color != ulTransColor) )
{
//TRACE( "the color is %d\t\n ", color);
dc.SetPixel(i + x, j + y, color);
}
else if (!bTransparent)
{
dc.SetPixel(i + x, j + y, color);
}
}
fseek(fp, ftell(fp) + offset, SEEK_SET);
}
fclose(fp);
return true;
}