通过 QPainter 绘画实现,以本地图片985*740为例 如下图所示: 效果如下所示: 实现原理 主要通过以下函数实现: , ); //平铺显示pixmap //x y w h :表示绘画区域 //sx sy :表示Qpixmap绘画起始位置 只要算出x y w h sx sy就能实现超出窗口不显示的效果 举个例子,如下图所示,居中显示1200*1200时: 当图片左偏移600时,也就是offset=-600时,则只能在窗口上显示一半的图片: 代码实现 widget.h: #ifndef
ImageView.ScaleType 将图片边界缩放到所在view边界时的缩放选项. Options for scaling the bounds of an image to the bounds of this view. 不同选项含义 CENTER 居中,不缩放. Center the image in the view, but perform no scaling. CENTER_CROP 居中,如果图片宽或高比view小,就等比放大使得宽和高都大于等于view,计算时view大小减
C#图片按比例缩放: // 按比例缩放图片 public Image ZoomPicture(Image SourceImage, int TargetWidth, int TargetHeight) { int IntWidth; //新的图片宽 int IntHeight; //新的图片高 try { System.Drawing.Imaging.ImageFormat format = SourceImage.RawFormat; System.Drawing.Bitmap SaveIma