如何生成给定大小的JPG图片
看了看jpg的数据结构,很复杂的样子。有大神有比较简单的方法吗?得到的图片大小不需要太精确。 --------------------编程问答-------------------- 你说的大小是文件字节的大小?还是像素?
前者很难计算,除非允许多次尝试,因为jpg是有损压缩,压缩比可变。 --------------------编程问答-------------------- 指定压缩质量 --------------------编程问答--------------------
public ImageCodecInfo GetCodecInfo(string mimeType)楼主如果指的是压缩率 这段代码可以帮助你 --------------------编程问答--------------------
{
ImageCodecInfo[] CodecInfo = ImageCodecInfo.GetImageEncoders();
foreach (ImageCodecInfo ici in CodecInfo)
{
if (ici.MimeType == mimeType) return ici;
}
return null;
}
public bool KiSaveAsJPEG(Bitmap bmp, string FileName, int Qty)//设置保存压缩比率
{
try
{
EncoderParameter p;
EncoderParameters ps;
ps = new EncoderParameters(1);
p = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, Qty);
ps.Param[0] = p;
bmp.Save(FileName, GetCodecInfo("image/jpeg"), ps);
return true;
}
catch
{
return false;
}
}
感谢2、3楼。压缩率这个我知道。
可能是我问的不太清楚:
我想要一个100kb的jpg,分辨率、压缩率都不在乎。
当压缩率为100,位深为24的时候,是否和相同像素bmp有个固定的换算率。有个大概数值就好。 --------------------编程问答-------------------- --------------------编程问答--------------------
没有固定倍率的 ,与颜色分布,几何形状都有关,自己转多几幅不就知道了
补充:.NET技术 , C#