让图片不变形

  • #region 让图片不变形         /// <summary>         /// 小图标等比例缩小         /// </summary>         /// <param name="_files"></param>         /// <returns></returns>         private ImageList GetImageFrom2(string[] _files)         {             ImageList list = new ImageList();

    int picWidth;             int picHeight;             int _iconW = 60;             int _iconH = 80;             int _picTop;             int _picLeft;             Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);             Bitmap myBitmap = null;             Image _tempImage;             for (int i = 0; i < _files.Length; i++)             {

    myBitmap = new Bitmap(_files[i]);                 CalateSize(myBitmap.Width, myBitmap.Height, _iconW, _iconH, out picWidth, out picHeight);                 Image myThumbnail = myBitmap.GetThumbnailImage(picWidth, picHeight, myCallback, IntPtr.Zero);

    //第一步                 Bitmap bp = new Bitmap(_iconW, _iconH);                 //第二步                 Graphics g = Graphics.FromImage(bp);                 g.Clear(Color.White);                 g.DrawImage(myThumbnail, (_iconW - picWidth) / 2, (_iconH - picHeight) / 2);                 list.Images.Add(_files[i], (Image)bp);                 list.ImageSize = new Size(_iconW, _iconH);             }             return list;         }         public bool ThumbnailCallback()         {             return false;         }         /// <summary>         /// 获取小图标不变形的大小         /// </summary>         /// <param name="picW"></param>         /// <param name="picH"></param>         /// <param name="iconW"></param>         /// <param name="incoH"></param>         /// <param name="_w"></param>         /// <param name="_h"></param>         public void CalateSize(int picW, int picH, int iconW, int incoH, out int _w, out int _h)         {             int _a = picW;  // 2488             int _b = picH;  // 4288             int _c = iconW;  //60             int _d = incoH;  //80             if ((_a / _b) > (_c / _d))             {                 _w = iconW;  //40                 _h = (_b * iconW / _a);             }             else             {                 _h = incoH;                 _w = (_a * incoH / _b);             }         }

    #endregion  让图片不变形

时间: 2024-10-07 11:58:58

让图片不变形的相关文章

div css布局中CSS图片大小自动按比例等比例缩小图片不变形解决技巧(转)

在DIV CSS布局中对于图片列表或图片排版时,图片不是固定宽度高度大小,但图片占位是固定宽度高度,这个时候如果使用CSS固定死图片大小(宽度 高度),这个时候如果图片相对于这个位置不是等比例大小,那么这张图片就会变形,让图片变的不清晰,这个时候想让图片不变形又按比例缩放,如何解决?CSS图片缩小不变形,图片自动缩小,图片按比例等比例缩小不变形解决. 解决方法有两种: 第一种,让图片和布局宽度高度成等比例,这样CSS设置死宽度和高度,图片也是等比例缩小,图片也不会变形. 比如淘宝,要求店铺主上传

让页面上图片不变形

很多列表图片的原图超过指定大小,然而图片本身高宽比例不是固定的,因此在设置此类情况时最好的处理方式是使用js来固定图片大小并保证图片居中,且让图片不变形. js代码: 1: /******************************************************************/ 2: /******将图片居中,在图片外面嵌套一个div不设置任何样式*************/ 3: /******参数:图片最大宽度,图片最大高度,******/ 4: /*****

WPF图片拖拉变形、合成

使用WPF的装饰器(Adorner)实现图片拖拉变形,DrawingVisual高保真合成图片.效果如下: 源码:https://gitee.com/orchis/ImageFotoMix.git 原文地址:https://www.cnblogs.com/edwardorchis/p/10260653.html

iOS UIImage UIImageView 展示图片 不变形 处理

展示图片 时候 固定 了 imageView  的大小  图片 也裁剪了 尽量保持比例 可是 还是失真 变形了 这张图 ui 要求展示的UIimageView 大小 是固定 的  ,传过来的 图片 是这样的比例大小 这么大的图呢  比例 完全 不对等 imageView  的contentMode 属性  网上有个  很形象的例子 但是 尽量 其中  UIViewContentModeScaleAspectFill 会保证图片比例不变,但是是填充整个ImageView的 但是 我使用的情况 比例

js 背景图随浏览器大小而变化,且保持图片不变形

<html> <head> <style> body{ overflow:hidden; } #pic{ margin:0 auto;width:100%;height:100%;padding:0;max-width:100%;position:relative; } #img{ position:absolute;left:0px;top:0px; } </style> </head> <body> <div id=&quo

小程序中保持图片不变形并且铺满盒子

效果图: 解释: 假如  直接设置img  长宽100%;会出现图片变形 <view class='item-l' style='width:500rpx;height:500rpx;background:#ccc'> <image style="width:100%;height:100%" src='/img/test.png'></image> </view>               这里就要用到 image属性 mode: &

移动端 图片不变形

@{ Layout = null;} <!DOCTYPE html> <html><head> @*<meta name="viewport" content="width =device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />*@ <meta http-equiv="Co

Android基础控件——ImageView的自定义,巧用Matrix实现图片不变形的炫酷PK条

前言 在开发中常常会遇到PK条制作,如果在PK条中是纯色的情况下,比较好办,如下:我们通常会设置其权重进行更新两个PK条的进度,实现起来也简单 //更新PkBar宽度比例 private void updateLayoutParams(float ratio) { LinearLayout.LayoutParams paramsLeft = (LinearLayout.LayoutParams) mLeftBar.getLayoutParams(); LinearLayout.LayoutPar

UIButton 拉伸图片、让图片不变形

[button setBackgroundImage:[[UIImage imageNamed:@"buttonline"] resizableImageWithCapInsets:UIEdgeInsetsMake(10, 10, 10, 10) resizingMode:UIImageResizingModeStretch] forState:UIControlStateNormal]; 请勿转载!