c#设置图片的dpi_C#:涉及DPI的高分辨率下的显示问题

这段代码展示了如何在C#中处理高分辨率图像,通过设置图片DPI并调整尺寸,确保在不同DPI环境下正确显示。使用Graphics对象进行图像绘制,应用高质量插值模式和抗锯齿效果,保证图像质量。
摘要由CSDN通过智能技术生成

private voidDrawLastImage()

{float rate = dpi / 96;int reWidth = (int)(Width *rate);int reHeight = (int)(Height *rate);using (Bitmap allBmp = newBitmap(

reWidth, reHeight, PixelFormat.Format32bppArgb))

{

allBmp.SetResolution(dpi,dpi);using (Graphics allGraphics =Graphics.FromImage(allBmp))

{

allGraphics.InterpolationMode=InterpolationMode.HighQualityBicubic;

allGraphics.SmoothingMode=SmoothingMode.AntiAlias;

allGraphics.DrawImage(

BackgroundImage,

Point.Empty);

DrawOperate(allGraphics);

allGraphics.Flush();

Rectangle reSelectImageRect= newRectangle();

reSelectImageRect.X= (int)(SelectImageRect.X *rate);

reSelectImageRect.Y= (int)(SelectImageRect.Y *rate);

reSelectImageRect.Width= (int)(SelectImageRect.Width *rate);

reSelectImageRect.Height= (int)(SelectImageRect.Height *rate);

Bitmap bmp= newBitmap(

reSelectImageRect.Width,

reSelectImageRect.Height,

PixelFormat.Format32bppArgb);

bmp.SetResolution(dpi, dpi);

Graphics g=Graphics.FromImage(bmp);

g.DrawImage(

allBmp,0,0,

reSelectImageRect,

GraphicsUnit.Pixel);

g.Flush();

g.Dispose();

_image=bmp;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值