怎样把几张长宽一样的GIF图片拼在一起(横竖都可以),再保存为JPG格式

GameWeaverDummy 2005-10-21 02:19:21
各位帮帮我,急啊。
...全文
2918 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxshzf 2005-12-16
  • 打赏
  • 举报
回复
做个记号
GameWeaverDummy 2005-11-01
  • 打赏
  • 举报
回复
非常感谢 Featured(我握着爱情的门票静静排队……)
Featured 2005-10-21
  • 打赏
  • 举报
回复
我已经写好,放到了
http://www.bypro.net/PostAttachment.aspx?PostID=21279&AttachmentID=1786
请下载!

再次声明:需要先配置好GdiPlus的环境
方法如下:
1 到
http://www.bypro.net/PostAttachment.aspx?PostID=21280&AttachmentID=1787
下载GdiPlus开发包,释放到VC的相应Include、lib文件夹中,把dll放到windows文件夹中

2 到VC的Tools-Directories中分别添加一项Include和lib,指向你刚才释放的文件夹。
比如我添加一项IncludeFiles为:C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\INCLUDE\GDIPLUS
添加一项LibraryFiles为:D:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\LIB\GDIPLUS

然后就可以打开工程文件,进行编译了

如果还有疑问,请直接发Email联系。
Featured 2005-10-21
  • 打赏
  • 举报
回复
楼主请留下信箱,我晚上回去帮你写好,11:00之前定发到你的邮箱里

或者直接联系我:
lizhaozhuo@people.com.cn
Featured 2005-10-21
  • 打赏
  • 举报
回复
楼主再稍等片刻,我正在给你写……
vcmute 2005-10-21
  • 打赏
  • 举报
回复
http://www.vckbase.com/code/downcode.asp?id=362

用于显示GIF,JPG,PNG,IZI等格式的图形文件,并支持相互转化功能。
Featured 2005-10-21
  • 打赏
  • 举报
回复
首先配置好GDIplus的环境。
具体方法如下:
在C**App类的h文件中添加如下:

////////////////////////////////////////
//必要的宏 以及头文件
#define UNICODE
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#endif


#include <gdiplus.h>//你安装的gdiplus.h的位置
using namespace Gdiplus;
#pragma comment(lib, "gdiplus.lib") //link gdiplus.lib

////////////////////////////////////////

然后在C**App类中添加如下成员变量!
(不可作为全局变量,否则link时出错,重复定义)
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;

然后到InitInstance中:
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
到ExitInstance中:
Gdiplus::GdiplusShutdown(m_gdiplusToken);

Featured 2005-10-21
  • 打赏
  • 举报
回复
使用GDI+ ,不难吧

GDI+内置对GIF和JPG的编码、解码算法
rageliu 2005-10-21
  • 打赏
  • 举报
回复
那帮你顶!!!期待高人来解决

解决了分享一下!!1

学习...
GameWeaverDummy 2005-10-21
  • 打赏
  • 举报
回复
谢谢你
不过我读的是gif
存成JPG
rageliu 2005-10-21
  • 打赏
  • 举报
回复
要知道图片的保存结构!!读取后写入一个自己创建的大图里面


//以下代码保存memDC中的位图到文件
BITMAP bmp;
memBitmap.GetBitmap(&bmp);//获得位图信息

FILE *fp = fopen(filename, "w+b");

BITMAPINFOHEADER bih = {0};//位图信息头
bih.biBitCount = bmp.bmBitsPixel;//每个像素字节大小
bih.biCompression = BI_RGB;
bih.biHeight = bmp.bmHeight;//高度
bih.biPlanes = 1;
bih.biSize = sizeof(BITMAPINFOHEADER);
bih.biSizeImage = bmp.bmWidthBytes * bmp.bmHeight;//图像数据大小
bih.biWidth = bmp.bmWidth;//宽度

BITMAPFILEHEADER bfh = {0};//位图文件头
bfh.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);//到位图数据的偏移量
bfh.bfSize = bfh.bfOffBits + bmp.bmWidthBytes * bmp.bmHeight;//文件总的大小
bfh.bfType = (WORD)0x4d42;

fwrite(&bfh, 1, sizeof(BITMAPFILEHEADER), fp);//写入位图文件头

fwrite(&bih, 1, sizeof(BITMAPINFOHEADER), fp);//写入位图信息头

byte * p = new byte[bmp.bmWidthBytes * bmp.bmHeight];//申请内存保存位图数据

GetDIBits(memDC.m_hDC, (HBITMAP) memBitmap.m_hObject, 0, Height, p,
(LPBITMAPINFO) &bih, DIB_RGB_COLORS);//获取位图数据

fwrite(p, 1, bmp.bmWidthBytes * bmp.bmHeight, fp);//写入位图数据

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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