目前我已经设置了帧位数为24,这样确保图片的质量, 但是不知道怎么设置dpi,默认就是96的,但是原图不是的,所以我要求原图的dpi是多少,在绘制的时候就是多少。 如果不是原图的dpi就出现,图片用ps打不开等等问题,用图片查看器是没有问题的。 这个问题应该怎么解决,请看清楚问题,是想要设置dpi,而不是怎么画图,之前有提问过,但是回答的都不对。
//此处得到上传图片的dpi System.Drawing.Image img = System.Drawing.Image.FromFile(url);//得到文件的路径 //获取DPI float dpix = img.HorizontalResolution; float dpiy = img.VerticalResolution; /****************************************************************/下面为画图 //创建大图 Bitmap bitmap = new Bitmap(imgWidthB, imgHeightB,PixelFormat.Format24bppRgb); //设置其生成图片的dpi bitmap.SetResolution(dpix,dpiy); //新建一个画板 System.Drawing.Graphics graphic = System.Drawing.Graphics.FromImage(bitmap); System.Drawing.Drawing2D.InterpolationMode interpolationMode = new System.Drawing.Drawing2D.InterpolationMode(); System.Drawing.Drawing2D.SmoothingMode smoothingMode = new System.Drawing.Drawing2D.SmoothingMode(); //设置高质量查值法 graphic.InterpolationMode = interpolationMode; //设置高质量,低速度呈现平滑程度 graphic.SmoothingMode = smoothingMode; //清空画布并以透明背景色填充 graphic.Clear(System.Drawing.Color.Transparent); System.Drawing.Image originalImage = System.Drawing.Image.FromFile(url + "\\" + newFileName); graphic.DrawImage(originalImage, new System.Drawing.Rectangle(x, y, imgWidthB, imgHeightB), new System.Drawing.Rectangle(x, y, imgWidth, imgHeight), System.Drawing.GraphicsUnit.Pixel); bitmap.Save(fileXltPathB);//保存图片ok
Bitmap bmp = new Bitmap(width, height); bmp.SetResolution(DPI, DPI);
62,266
社区成员
668,981
社区内容
加载中
.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。
希望和大家一起共同营造一个活跃、友好的社区氛围。
试试用AI创作助手写篇文章吧