设置image的大小

设置image的大小,第1张

给原图指定需要的大小,返回自己需要的尺寸大小的图片

+ (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize {

    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0)

    [image drawInRect:CGRectMake(0,0, newSize.width, newSize.height)]

    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext()

    UIGraphicsEndImageContext()

    return newImage

}

此方法不会让图片变得模糊,如果指定的大小比图片本身的大小要小,也不会造成图片缺失,只是按比例把图片缩小到自己想要的大小

System.Drawing.Image img = System.Drawing.Image.FromFile(sSourceFile)//原图形

System.Drawing.Bitmap desImg = new System.Drawing.Bitmap(640,480)//目标图形640X480

Graphics g //创建一个图形对象。

g = Graphics.FromImage(desImg)

g.DrawImage(img, new Rectangle(0, 0, desImg.Width, desImg.Height), new Rectangle(0, 0, img.Width, img.Height), GraphicsUnit.Pixel)//将原img图形,缩放到目标640X480大小

通过DrawImage方法后,生成的desImg可以再使用Bitmap的Save方法再次存储为图形文件或者直接绘制到WinForm界面。

以上代码的具体含义可查看MSDN关于.Net FrameWork的Graphics一节。

wxml部分:

<image src="../images/xwbanner.png" mode="widthFix" bindload="imageLoad" style="width:{{ images[index].width }}rpxheight:{{ images[index].height }}rpx" ></image>

wxss部分:

image{

width:100%;

}

js部分:

Page({

data: {

images:{}

},

imageLoad: function(e){

var $width=e.detail.width,//获取图片真实宽度

$height=e.detail.height,

ratio=$width/$height //图片的真实宽高比例

var viewWidth=718, //设置图片显示宽度,左右留有16rpx边距

viewHeight=718/ratio //计算的高度值

var image=this.data.images

//将图片的datadata-index作为image对象的key,然后存储图片的宽高值

image[e.target.dataset.index]={

width:viewWidth,

height:viewHeight

}

this.setData({

images:image

})

},

})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11319089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存