<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
1 import java.awt.*;
2 import java.awt.event.ActionEvent;
3 import java.awt.event.ActionListener;
4 import javax.swing.*;
5 public class Main extends JFrame implements ActionListener
6 {
7 private ImagePanel imgPane = null;
8 private JScrollPane scrollPane = null;
9 private JButton zoomin = null ;
10 private JButton zoomout = null;
11 public Main ()
12 {
13 super ("JScrollPane Demo");
14 imgPane = new ImagePanel ("/1.jpg");
15 imgPane.setPreferredSize (new Dimension (600, 400));
16 scrollPane = new JScrollPane (imgPane);
17 scrollPane.setVerticalScrollBarPolicy (JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
18 scrollPane.setHorizontalScrollBarPolicy (JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
19 zoomin = new JButton ("放大");
20 zoomout = new JButton ("缩小");
21 zoomin.setBounds (0,10,60,30);
22 zoomout.setBounds (80,10,60,30);
23 zoomin.addActionListener (this);
24 zoomout.addActionListener (this);
25 imgPane.add (zoomout,JLayeredPane.DRAG_LAYER);
26 imgPane.add (zoomin,JLayeredPane.DRAG_LAYER);
27 this.add (scrollPane);
28 setSize (600, 400);
29 setDefaultCloseOperation (EXIT_ON_CLOSE);
30 setVisible (true);
31 }
32 public static void main ( String[] args )
33 {
34 new Main ();
35 }
36 public void actionPerformed ( ActionEvent e )
37 {
38 if ((JButton) (e.getSource ()) == zoomin)
39 {
40 imgPane.enlarge ();
41 imgPane.setPreferredSize (imgPane.getPreferredSize ());
42 scrollPane.validate ();
43 }
44 else if ((JButton) (e.getSource ()) == zoomout)
45 {
46 imgPane.ensmall ();
47 imgPane.setPreferredSize (imgPane.getPreferredSize ());
48 scrollPane.validate ();
49 }
50 }
51 }
52
53 class ImagePanel extends JLayeredPane
54 {
55 private Dimension theSize = new Dimension (600, 400);
56 private ImageIcon img = null;
57 public ImagePanel (String imgpath )
58 {
59 super ();
60 setLayout (null);
61 this.img = new ImageIcon (getClass ().getResource (imgpath));
62 }
63 public void paintComponent ( Graphics g )
64 {
65 g.clearRect (0, 0, 1024, 768);
66 g.drawImage (img.getImage (), 0, 0, theSize.width, theSize.height,null);
67 }
68 public void enlarge ( )
69 {
70 theSize.width = (theSize.width * 101) / 100;
71 theSize.height = (theSize.height * 101) / 100;
72 setSize (theSize);
73 }
74 public void ensmall ( )
75 {
76 theSize.width = (theSize.width * 100) / 101;
77 theSize.height = (theSize.height * 100) / 101;
78 setSize (theSize);
79 }
80 public Dimension getPreferredSize ( )
81 {
82 return this.theSize;
83 }
84 }
85
分享到:
相关推荐
android 开发 一个简单的图片放大缩小程序,调用系统,程序运行时在sd卡中加入一张“1.jpg”的图片
用delphi实现的图片缩放程序,并且支持批量设置,就是一点,压缩后照片质量有些损失
bmp24位图片缩放程序,自己研究了好久,弄出来这个。用vc可以直接编译
微信小程序图片放大预览,并双击可缩小的原始比例,利用scroll-view实现
微信小程序图片缩放 拖动,亲测可用(别人写的,拿来分享下)。因为小程序程序包大小有限制,把两个gif图片删除就行了,删除不影响使用
主要介绍了微信小程序swiper实现滑动放大缩小效果,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
这是微信小程序代码,图片手指缩放功能,不过问题就是不能够固定后移动图片
一个小程序用的双指缩放组件,相关文章地址见博客《微信小程序使用自定义组件实现图片双指缩放效果》。(现在资源怎么不可以设置为不要积分了0.)
图片缩放旋转 图片缩放 图片旋转 完整程序 源代码 cb c++
1、图片在指定区域显示、采用刷图方式、可以随指针拖动、放大 缩小、 2、文件路径是通过参数传递的 3、程序中SHOW按钮显示图片 BT1 BT2 没有很好的代码效果 测试使用 4、Imageshow.h和CPP 可以再其他工程中直接使用...
放大缩小图片 VB 源程序,放大缩小图片 VB 源程序,放大缩小图片 VB 源程序,放大缩小图片 VB 源程序
,我们这个例子可以学习了解如何使用Delphi编程代码,放大或缩小一张图片,这里把放大和缩小图片的基数写在按钮事件中,用户每次单击按钮,就会按照一定的缩放倍数放大或缩小图像,本示例测试图片已写入程序中,编译...
vb 用picturebox实现图片放大缩小鼠标拖放滚轮缩放 这个测试程序满足基本要求,如有更高的要求可61303072qq联系本人 (滚轮是需要按住ctrl键然后按鼠标滚轮就可以了。可以在代码里屏蔽ctrl键的判断)
mfc 图片的放大缩小 花费了我2周的时间才完成的 数据结构 c语言 MFC,是用MFC做的,,该程序功能强大,健壮性很强,对于错误输入有提示,程序完全正确,解压既可以运行
bmp24位图片缩放程序C语言源代码,实现对24位位图的缩放功能。
主要介绍了微信小程序内拖动图片实现移动、放大、旋转的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
微信小程序没有图片无极缩放的代码,自己写了个,双击放大,支持两指缩放,移动。
基于C语言的关于图片缩小与放大的级数,供学习参考
C# 图片缩放和移动程序,在.net3.5下开发,但是代码完全支持vs2005,vs2008,vs2010
android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果(仿腾讯,新浪),这里面实现多少会有不足之处,大家在运用的时候根据需求自行调整,大多都是多数图片左右切换实现,这个大家可以自定义ViewGroup...