由于程序需要一个缩略图功能,所以在网上找了一段代码,代码可以正生成缩略图
可是查看生成的缩略图DPI是96(photoshop里叫点数,好像也叫分辨率) 网页显示推荐的72,想询问一下各位高手这个属性如何修改看清楚,是修改点数,不是尺寸,请懂得原理的高手解答,小弟拜谢
可是查看生成的缩略图DPI是96(photoshop里叫点数,好像也叫分辨率) 网页显示推荐的72,想询问一下各位高手这个属性如何修改看清楚,是修改点数,不是尺寸,请懂得原理的高手解答,小弟拜谢
//获取此图形的水平分辨率(即水平dpi)
float dpiX = img.HorizontalResolution;
//垂直分辨率
float dpiY = img.VerticalResolution;/// <summary>
/// 获取一个图片按等比例缩小后的大小。
/// </summary>
/// <param name="maxWidth">需要缩小到的宽度</param>
/// <param name="maxHeight">需要缩小到的高度</param>
/// <param name="imageOriginalWidth">图片的原始宽度</param>
/// <param name="imageOriginalHeight">图片的原始高度</param>
/// <returns>返回图片按等比例缩小后的实际大小</returns>
public static Size GetNewSize(int maxWidth, int maxHeight, int imageOriginalWidth, int imageOriginalHeight)
{
double w = 0.0;
double h = 0.0;
double sw = Convert.ToDouble(imageOriginalWidth);
double sh = Convert.ToDouble(imageOriginalHeight);
double mw = Convert.ToDouble(maxWidth);
double mh = Convert.ToDouble(maxHeight); if (sw < mw && sh < mh)
{
w = sw;
h = sh;
}
else if ((sw / sh) > (mw / mh))
{
w = maxWidth;
h = (w * sh) / sw;
}
else
{
h = maxHeight;
w = (h * sw) / sh;
} return new Size(Convert.ToInt32(w), Convert.ToInt32(h));
}控制int maxWidth, int maxHeight,这2个参数