当前位置: 首页 > news >正文

用小程序做网站企业信用信息公示系统(辽宁)

用小程序做网站,企业信用信息公示系统(辽宁),网站设计 视频,稼禾建设集团网站最近几天在做一个项目#xff0c;因为涉及到了图片(绝大部分都不是整图#xff0c;是把一张张的大图切成小图#xff0c;也就是Title)的翻转以及90旋转#xff0c;弄得焦头烂额。在网上搜索好几天#xff0c;发现用到的方法都是比较公式化的#xff0c;对于只是在绘图的时…最近几天在做一个项目因为涉及到了图片(绝大部分都不是整图是把一张张的大图切成小图也就是Title)的翻转以及90°旋转弄得焦头烂额。在网上搜索好几天发现用到的方法都是比较公式化的对于只是在绘图的时候需要显示翻转而不需要另外生成图片的情况这些代码用起来非常的麻烦。最后仔细的研究了一下JDK文档用Graphics2D很简单的就实现了以下功能1、图片的翻转包括水平翻转以及垂直翻转2、图片的任意角度旋转。因为工程需要代码里面都直接写成了90根据需要可以对这个值进行改动以符合需求。3、可以使用组合操作比如水平翻转旋转或者垂直水平旋转任意。以下是代码:package Demo628;import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;public class ImageRote{public static void main(String[] args){JFrame frame new TransformFrame();frame.setVisible(true);}}class TransformFrame extends JFrame implements ActionListener{//添加几个按钮方便操作。JButton rote new JButton(旋转) ;JButton flipX new JButton(水平翻转);JButton flipY new JButton(垂直翻转);JButton zoomIn new JButton(放大) ;JButton zoomOut new JButton(缩小) ;public TransformFrame(){setTitle(TransformTest);setSize(400, 400);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});Container contentPane getContentPane();canvas new TransPanel();contentPane.add(canvas, Center);JPanel buttonPanel new JPanel();buttonPanel.add(rote);rote.addActionListener(this);buttonPanel.add(flipX);flipX.addActionListener(this);buttonPanel.add(flipY);flipY.addActionListener(this);buttonPanel.add(zoomIn) ;zoomIn.addActionListener(this) ;buttonPanel.add(zoomOut) ;zoomOut.addActionListener(this) ;contentPane.add(buttonPanel, North);}public void actionPerformed(ActionEvent event){Object source event.getSource();//对于source ???这种方法在特殊的情况下出现错误所以需要酌情使用event.getSource().equals()方法来替代if (source rote){canvas.setRotate();} elseif (source flipX){canvas.flipX();} elseif (source flipY){canvas.flipY();} elseif (source zoomIn){canvas.zoomIn();} elseif (source zoomOut){canvas.zoomOut();}}private TransPanel canvas;}class TransPanel extends JPanel{//水平翻转比例的标志。-1表示需要进行水平翻转int m_nFlipXScale 1 ;//垂直翻转比例的标志。-1表示需要进行垂直翻转int m_nFlipYScale 1 ;//旋转的角度。因为工程需要代码中直接写成了90可以根据具体需要动态修改以符合实际情况int roteAngle 0 ;//缩放比例。默认的比例0表示没有翻转具体的翻转大小通过一个方法:getZoomSize()获取int zoomLevel 0 ;public TransPanel(){//首先载入一张图片。img new ImageIcon(D000.GIF).getImage();}public void paintComponent(Graphics g){super.paintComponent(g);g.drawImage(img,0,0,this) ;drawTransImage(g,img.getWidth(this),img.getHeight(this),zoomLevel) ;}public void drawTransImage(Graphics g,int drawx,int drawy,int zoom){int x 0 ;int y 0 ;int w img.getWidth(this) ;int h img.getHeight(this) ;int zoomw getZoomSize(w,zoom) ;int zoomh getZoomSize(h,zoom) ;int xPos 0 ;int yPos 0 ;if (m_nFlipXScale -1)xPos -zoomw ;if (m_nFlipYScale -1)yPos -zoomh ;Graphics2D g2 (Graphics2D)g ;//转换坐标原点。这步不要也成但是将当前位置转换为坐标原点后可以节省好多计算步骤非常好用。//不过记得用完了以后一定要把原点转换回来要不然其他地方就乱了g2.translate(drawx,drawy);if (roteAngle ! 0)g2.rotate(Math.toRadians(m_nFlipXScale * m_nFlipYScale * roteAngle),zoomw 1,zoomh 1);//上面的m_nFlipXScale * m_nFlipYScale需要特殊说明一下因为实际使用中可能遇到各种组合的情况比如//先flipX或者flipY以后然后再旋转这时候图片的旋转方向就会出现错误加上这段代码可以保证无论使用哪种组合//操作方式都保证在旋转图片的时候是按照顺时针的方向进行旋转。if (m_nFlipXScale -1)g2.scale(-1,1);//第一个值表示水平-1表示等宽水平翻转Math.abs(m_nFlipXScale)的值越大出来的图片就越宽if (m_nFlipYScale -1)g2.scale(1,-1);//第二个值表示垂直-1表示等高垂直翻转Math.abs(m_nFlipYScale)的值越大出来的图片就越高//显示图片g2.drawImage(img,xPos,yPos,xPos zoomw,yPos zoomh,x,y,w,h,null) ;g2.translate(-drawx,-drawy);}public void setRotate(){roteAngle 90 ;roteAngle % 360 ;repaint();}public void flipX(){m_nFlipXScale -m_nFlipXScale ;repaint();}public void flipY(){m_nFlipYScale -m_nFlipYScale ;repaint();}public void zoomIn(){zoomLevel ;repaint();}public void zoomOut(){zoomLevel-- ;repaint();}public static final int getZoomSize(int sourceSize,int zoomLevel){if (zoomLevel 0)return sourceSize ;elseif (zoomLevel 0)return sourceSize / (Math.abs(zoomLevel) 1) ;elsereturn sourceSize * (zoomLevel 1) ;}private Image img;}以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家。
http://www.zqtcl.cn/news/594741/

相关文章:

  • 德阳网站开发dedecms5.7装饰公司网站模板
  • 下步我院将建设网站信息保密浙江温州网络公司
  • 一键建站网站seo关键词快速排名介绍
  • 自己做网站 什么wordpress博客文章加密
  • 怎样做音视频宣传网站wordpress 推送
  • 网站图片上传代码专业的企业进销存软件定制
  • 商品网站模板wordpress文章推荐
  • 十里堡网站建设做吃的教程网站
  • 比较好的源码网站河南网站seo推广
  • 做网站推广什么好网站界面结构
  • 龙岗网站优化常见的渠道推广方式有哪些
  • wordpress 后台乱码成都百度推广优化
  • 大连 响应式网站wordpress保存图片不显示
  • 二手车网站建站网站建设企业建站要求
  • 海山免费网站建设做视频网站如何赚钱
  • 网站增加点击率 怎样做小店面设计装修网
  • 一 美食 视频网站模板下载安装外国优秀网站欣赏
  • 网站服务器部署重庆涪陵网站建设公司
  • php网站开发实践要做网站照片怎么处理
  • 网站短期就业培训班搜集关键词的网站
  • 社区网站开发淘宝网站打算找人做
  • 政务类网站网页管理平台
  • 淘宝联盟微信里做网站花卉市场网站建设基本步骤
  • 做网站广告语网站注册建设
  • 仓山福州网站建设哪个是网站建设里面的
  • 开网站流程开发公司起名
  • 免费建站优化网站基本设置
  • 网站建设需要上传数据库吗seo自己做网站吗
  • 网站制作ppt杭州网站的特点
  • 美丽寮步网站建设价钱杭州网站设计询问蓝韵网络