C#合成图片显示不全

现象

前段时间用C#写了一个小工具,主要功能是随机读取图片并合成一张长图。最近在使用的时候发现个问题,原图片宽度是1080,合成后的图片宽度也是1080,但是合成后的图片没有显示全,就像下面这样

原图1和原图2:为了方便看到大小我加了红色边框

原图的属性信息,宽度都是1080

合成后的图片:

合成图片的属性信息,宽度也是1080

但合成的图片和原图比较,右侧明显比原图缺少一部分,原图右侧下方可以看到茶杯,合成的图片右侧看不到茶杯。

问题原因

经过观察,发现是图片的dpi分辨率不同,导致合并后的图片显示不全。原图的dpi是72,合并后的图片dpi是96

解决办法

直接修改代码,在合并图片的时候,先取出原图的dpi,然后赋值给合并后的图片,使其保持一致

复制代码
#读取图片的dpi
float dpiX = image.HorizontalResolution;
float dpiY = image.VerticalResolution;
#设置合并图片的dpi
Bitmap map = new Bitmap(1080, 2500);//定义画布
map.SetResolution(dpiX, dpiY);//设置图片的dpi

最后放一张合并后的图片:

这样合并后的图片就显示全了。

相关推荐
CSharp精选营5 天前
都是微软亲儿子,WPF凭啥干不掉WinForm?这3个场景说明白了
c#·wpf·跨平台·winform
小贺儿开发12 天前
Unity3D 家居视频遥控效果演示
unity·udp·人机交互·网络通信·winform·远程·photon
czhc114007566313 天前
winform 330 跨线程 异步
wpf·线程·winform
light blue bird15 天前
原生控件GDI完成作业协同界面
jvm·数据库·.net·winform·gdi+界面
light blue bird1 个月前
MES/ERP大数据报表条件索引查询组件
数据库·.net·winform·t-sql·大数据报表
香煎三文鱼1 个月前
winform读取不到App.config配置文件中的配置信息
winform
Aevget1 个月前
界面控件DevExpress WinForms中文教程:Data Grid - 数据绑定(二)
.net·界面控件·winform·devexpress·ui开发
小曹要微笑1 个月前
WinForms 验证码类的实现
c#·验证码·winform·验证码类
我本梁人1 个月前
Winform实现多语言切换
winform
light blue bird2 个月前
产线多并发客户端指令操作场景组件
jvm·oracle·.net·winform