如何用VC++编程实现两张JPG图片的叠加

一个jpg文件为大图,另一个jpg文件为小图,现在要通过编程实现小图叠放到大图上,生成另一个jpg文件,请指点一下大致的算法吧(在VC++环境下实现),多谢了!... 一个jpg文件为大图,另一个jpg文件为小图,现在要通过编程实现小图叠放到大图上,生成另一个jpg文件,请指点一下大致的算法吧(在VC++环境下实现),多谢了! 展开
 我来答
空雪梦见
2013-12-29 · TA获得超过5598个赞
知道大有可为答主
回答量:2522
采纳率:75%
帮助的人:1210万
展开全部
如果是VC6,你需要安装GDI+的开发包。虽然可以通过直接调用GDIPLUS.DLL里的函数来实现(不需要装开发包),但是很麻烦

1、用GDI+的Image对象载入大图JPG
2、用GDI+的Image对象载入小图的JPG
3、创建Graphics对象,绘制目标是大图的Image对象
4、用Graphics的DrawImage方法将小图绘制上去
5、调用Image的Save方法将处理好的图片保存到文件

注意点:
1、GDI+在使用之前需要调用GdiplusStartup函数来进行初始化工作
2、Graphics对象绘制完成之后调用Flush方法来确保所有操作已经确实反映到了图片上
3、Save方法需要提供编码器ID,获取编码器ID的方法可以在MSDN上Save方法的说明里的示例代码内查到(有原原本本的代码可以复制来用)
东涛浪尽
2013-12-29 · 超过20用户采纳过TA的回答
知道答主
回答量:129
采纳率:0%
帮助的人:54.2万
展开全部
用css中的浮动
追问
我大概有50万张这样的图片要处理,所以必须编程实现,CSS应该搞不定吧?
追答
你把你创的图片当做参数引入css中啊,之前说错了,用的position

你试下下面的代码

#d1{
width :200px ;
height :200px ;
background-image : url(images/da.jpeg)
}
#d1_1{
left :30px ;
top :50px ;
width :80px ;
height :80px ;
background-image : url(images/xiao.jpeg)
position :absolute ;
}
#d2{
left :30px ;
top :50px ;

width :100px ;
height :100px ;
background-color :blue ;
position :relative ;
}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式