求一图片大小范围的计算

joyhen 2012-05-10 11:44:25
有一300*300的画布,
上传后的图片进行等比压缩,压缩后的宽度最小是300,压缩后的高度最小是200。原图片限定的大小是小于等于1M的,那么原图的原始图片长宽应该符合什么条件呢;当然这里面有个分辨率的不同,暂以72/(像素/英寸)来考虑,拜谢了
...全文
102 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
joyhen 2012-05-10
  • 打赏
  • 举报
回复
木有人吗
bbspc_ 2012-05-10
  • 打赏
  • 举报
回复
/// <summary>
/// </summary>
/// <param name="outCeshiPath">要压缩的图片的路径</param>
/// <param name="converPhoto">压缩后保存路径</param>
/// <remarks>
/// </remarks>
public static void CompressMinImage(string pPath, string outCeshiPath, string converPhoto)
{
int width = 300;
int height = 200;
Image img = Image.FromFile(outCeshiPath);
int W = img.Width - width;
int H = img.Height - height;
if (img.Width >= 300&& img.Height >= 200)
{
Image originalImg = Image.FromFile(outCeshiPath);
Bitmap bmpOut = new Bitmap(width, height, PixelFormat.Format24bppRgb);
Graphics g = Graphics.FromImage(bmpOut);
g.DrawImage(originalImg, new Rectangle(0, 0, width, height), new Rectangle(0, 0, width, height), GraphicsUnit.Pixel);
bmpOut.Save(converPhoto, ImageFormat.Jpeg);
originalImg.Dispose();
bmpOut.Dispose();
g.Dispose();
}else{
//xxxxxxxxxx
}

}
bbspc_ 2012-05-10
  • 打赏
  • 举报
回复
呵呵,你这样压缩就变形了...压缩方法太多了.
joyhen 2012-05-10
  • 打赏
  • 举报
回复
图片大小是限制1M上传的,这上传的1M内的图片其长宽是不确定的,但是宽度小于300是不给上传,如果宽度是大于300,要进行长宽等比压缩处理,压缩后的图片宽度是300,高度必须200~300之间
[Quote=引用 5 楼 的回复:]

问的比较矛盾,不够清晰...
"比如,如果宽>300高<200,则已宽300进行等比压缩到宽=300,高自适应,如果宽<300而高>200,则已高=200进行等比压缩(这两种压缩会导致一边小于原预期值,等比吗,不然就变形..)...然后在判断高>200切宽>300..........等等其他很多情况..."
真不知道你这是什么意思....怎么像素也撤进来了...
[/Quote]
bbspc_ 2012-05-10
  • 打赏
  • 举报
回复
问的比较矛盾,不够清晰...
"比如,如果宽>300高<200,则已宽300进行等比压缩到宽=300,高自适应,如果宽<300而高>200,则已高=200进行等比压缩(这两种压缩会导致一边小于原预期值,等比吗,不然就变形..)...然后在判断高>200切宽>300..........等等其他很多情况..."
真不知道你这是什么意思....怎么像素也撤进来了...
joyhen 2012-05-10
  • 打赏
  • 举报
回复
就这样被埋没了啊
joyhen 2012-05-10
  • 打赏
  • 举报
回复
亲们来看看吧

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧