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

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

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

相关推荐
我本梁人2 天前
WinForms中实现Adobe PDF Reader实现旋转PDF功能
pdf·winform
TA远方12 天前
【C#】一个简单的http服务器项目开发过程详解
服务器·http·c#·wpf·web·winform·console
界面开发小八哥23 天前
界面控件DevExpress WinForms v24.2——PDF Viewer功能升级
pdf·c#·界面控件·winform·devexpress·ui开发
界面开发小八哥25 天前
界面控件DevExpress WinForms中文教程:Banded Grid View - API
.net·界面控件·winform·devexpress·ui开发·用户界面
csdn_aspnet25 天前
C# WinForm treeView 全选反选 点击过快节点选中状态未选中或选中状态未取消
c#·winform
csdn_aspnet1 个月前
C# DataGridView 选中所有复选框
c#·winform·datagridview
csdn_aspnet1 个月前
如何在 C# 中自定义 Datagridview 标题
c#·winform·datagridview
界面开发小八哥1 个月前
界面控件DevExpress WinForms v25.1新功能预览 - 功能区组件全新升级
人工智能·.net·界面控件·winform·devexpress
时光追逐者1 个月前
分享5款开源、美观的 WinForm UI 控件库
ui·开源·c#·.net·winform
啊波次得饿佛哥2 个月前
在winform中使用chromiumWebBrowser显示Echarts图表
前端·javascript·echarts·winform·cefsharp