简单的网站制作网页设计与网站建设有区别吗

pingmian/2025/10/9 6:33:24/文章来源:
简单的网站制作,网页设计与网站建设有区别吗,智能网站建设策划,旧网站如何优化最近几天在做一个项目#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.mzph.cn/pingmian/90353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业网站建设会计分录杭州手机软件开发

One-to-Few Label Assignment for End-to-End Dense Detection阅读笔记 Abstract 一对一(o2o)标签分配对基于变换器的端到端检测起着关键作用,最近已经被引入到全卷积检测器中,用于端到端密集检测。然而,o2o可能因为…

国内外知名建设设计网站海兴县网站建设公司

点击上方亿元程序员关注和★星标 引言 大家好,我是亿元程序员,一位有着8年游戏行业经验的主程。 本系列是《和8年游戏主程一起学习设计模式》,让糟糕的代码在潜移默化中升华,欢迎大家关注分享收藏订阅。 享元模式&#xff08…

网站开发免费课程建设项目竣工环保验收公示网站

一:背景 类加载机制是在我们的真个java的运行阶段中的其中一个阶段。 二:什么是快乐星球(类加载机制) 我们编写的 Java 文件都是以.java 为后缀的文件,编译器会将我们编写的.java 的文件编译成.class 文件,简单来说类加载机制就是jvm从文件系统将一系…

网站信息建设总结网站内容有什么

NLP 一、什么是自然语言处理(NLP)二、NLP的发展三、相关理论1 语言模型2 词向量表征和语义分析3 深度学习 一、什么是自然语言处理(NLP) 什么是自然语言处理 二、NLP的发展 三、相关理论 1 语言模型 序列数据形式多样&#xf…

牡丹江哈尔滨网站建设做网站用什么ps软件

🎈 博主:一只程序猿子 🎈 博客主页:一只程序猿子 博客主页 🎈 个人介绍:爱好(bushi)编程! 🎈 创作不易:喜欢的话麻烦您点个👍和⭐! 🎈…

大学电子商务网站建设网页设计的类型有哪些

一,继承 前面我们将项目拆分成各个小模块,但是每个小模块中有很多相同的依赖于是我们创建一个父工程将模块中相同的依赖定义在父工程中,然后子工程继承父工程Maven作用:简化依赖配置,统一依赖管理,可以实现多重继承像J…

房地产网站开发毕业设计个人介绍网页

名字叫:公益大米网​​​​​​​ Freerice 这个网站是以做题的形式来记忆单词,题干是一个单词,给出4个选项,需要选出其中最接近题干单词的选项。 答对可以获得10粒大米,网站的创办者负责捐赠。如图 触发某些条件&a…

挂别人公司做网站可以吗免费网站100m

01 背包 题目描述:有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 二维dp数组01背包: 确定dp数组以及下标的含义 …

做的好看的网站高端h5网站开发

上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些。文件上传的方式Servlet2.5 方式Servlet3.0 方式SpringMVC 方式案例实操Servlet2.5 方式文件上传涉及到前台页面的编写和后台服务器端代码的编写,前台发送文件…

怎么制作营销网站福田网站建设推荐

目录 前言:一、左值引用和右值引用1.1 什么是左值和左值引用1.2 什么是右值和右值引用 二、左值引用和右值引用比较三、右值引用使用场景3.1 传值返回使用场景3.2 移动构造3.3 移动赋值3.4 STL容器接口也增加右值引用3.5 完美转发 前言: 引用是给对象取…

做网站app删除wordpress 后台

事务特点 Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证: 批量操作在发送 EXEC 命令前被放入队列缓存。 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。不具备原子性。 在事务执…

北京怀柔网站制作摄影师常用的网站

C:迭代器的封装思想 list迭代器实现反向迭代器实现 本博客将通过实现list的迭代器,以及它的反向迭代器,来帮助大家理解迭代器的底层逻辑,以及封装思想。 list迭代器实现 迭代器是一个遍历容器的工具,其可以通过自增自…

网上商城网站建设方案网站分栏目怎么做

文 | sliderSun源 | 知乎NLP模型的大小不断增加,随之而来的是可用性降低,TinyBERT,MobileBERT,和DistilBERT都提出了一个独特的知识蒸馏框架,其共同目标是在保持性能的同时减小模型大小。尽管所有这些方法都以各自的方…

余姚做网站哪家好易语言 做网站

1、强引用(StrongReference) 强引用不会被GC回收,并且在java.lang.ref里也没有实际的对应类型。举个例子来说:     Object obj new Object();     这里的obj引用便是一个强引用,不会被GC回收。 2、软引用&…

改变网站字体索引擎优化 seo

嘛,说实话,现在才开始,实在是有点晚了,一不小心大学都过去1年了_(:3 」∠)_ 我在专业方面的起步也是相当晚的,身为计算机专业,编程却从大学才开始正式接触,进入大学时其他方面的能力也都约等于0…

西安机场商务宾馆百度做网站哈尔滨百度网站快速优化

总的来说就是,由两台以上的路由器组成一个HSRP组,在该组之中选举一台路由器作为Active路由器,一台路由器作为Standby路由器,其它路由器则进入Listen状态。实际工作时,是由Active路由器去转发数据,一旦Activ…

哪些网站有好的营销案例重庆市建设施工安全网

docker仓库登录及配置insecure-registries的方法 这篇文章主要介绍了docker仓库登录配置insecure-registries的方法,docker客户端如果配置中添加了insecure-registary配置,就不需要在docker 客户端配置上对应证书,如果不配置要在/etc/docker/certs.d/目…

站长号小程序赚钱的几种方法

对于需要大量翻译的数据,人工翻译太慢,此时需要使用软件进行批量翻译。1.使用360的翻译def fanyi_word_cn(string):url"https://fanyi.so.com/index/search"#db_path ./db/tasks.dbForm_Data {}#这里输入要翻译的英文Form_Data[query] string…

网站开发制作流程ppt精美模板

目录 1 问题2 问题分析3 解决过程3.1 确保Pillow库存在3.2 迷惑阶段3.3 解决问题 4 希望大佬解答 1 问题 今天做了一个使用Python写的脚本文件.py,打算把它转换成.exe文件。点击生成的exe文件时,出现了如下弹窗。 2 问题分析 根据错误描述&#xff1…

网站怎么做域名跳转青岛知名网站建设公司排名

我想从Oracle的nashorn JavaScript引擎中调用一个带有 char[] 输入参数的Java函数(非数组参数类型的函数对我来说没问题) .如果我用JavaScript字符串文字调用Java函数,nashorn balksjavax.script.ScriptException: TypeError: Can not invoke method[jdk.internal.d…