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

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;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值