C语言的库函数中有打开以有图片的函数么??~

guihudie 2007-04-23 06:48:17
在C语言中有 打开图片,保存图片的函数么? 麻烦告诉小弟我下3Q
...全文
207 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
guihudie 2007-04-23
  • 打赏
  • 举报
回复
谢谢 各位了
非常感谢
wangzhangyong411 2007-04-23
  • 打赏
  • 举报
回复
是的,图像文件反正也是文件 直接打开就好了

楼主可以去看下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;
}
fohonet 2007-04-23
  • 打赏
  • 举报
回复
有打开文件的, 图像也可以当作是一个文件吧。
chensanniang 2007-04-23
  • 打赏
  • 举报
回复
没有,不过有作图的函数.
  • 打赏
  • 举报
回复
C语言标准库中没有

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧