通过 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
窗体界面部分如下: 鼠标的缩放功能需要手动在 OpertaionImg.Designer.cs 文件里面添加一句代码,具体代码如下: //picturePhoto显示图片的控件 this.picturePhoto.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.picturePhoto_MouseWheel); 下面是窗体的后台代码: public partial class OpertaionImg : Form {
在系统的相册中,观看相片就可以用多个手指进行缩放. 要实现这个功能,只需要这几步: 1.新建项目,在项目中新建一个ZoomImage.java public class ZoomImageView extends View { //初始化状态常量 public static final int STATUS_INIT=1; //图片放大状态常量 public static final int STATUS_ZOOM_OUT=2; //图片缩小状态常量