java實現(xiàn)圖形的放大和縮小,其實就是在畫圖時,改變圖片的長和寬。以下代碼參考一下:
10余年的岳塘網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。網絡營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整岳塘建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“岳塘網站設計”,“岳塘網站推廣”以來,每個客戶項目都認真落實執(zhí)行。
import?java.awt.Graphics;
import?java.awt.MouseInfo;
import?java.awt.Point;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.awt.event.MouseEvent;
import?java.awt.event.MouseListener;
import?java.io.File;
import?javax.swing.ImageIcon;
import?javax.swing.JButton;
import?javax.swing.JFileChooser;
import?javax.swing.JFrame;
import?javax.swing.JPanel;
import?javax.swing.filechooser.FileNameExtensionFilter;
public?class?App?extends?JFrame?implements?MouseListener,?ActionListener?{
int?x?=?0;
int?y?=?0;
File[]?selectedFiles?=?null;
int?fileIndex?=?0;
int?width?=?200;
int?height?=?200;
public?App()?{
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(400,?300);
setResizable(false);
getContentPane().setLayout(null);
JPanel?panel?=?new?ImagePanel();
panel.setBounds(12,?40,?370,?218);
getContentPane().add(panel);
addMouseListener(this);
JButton?btnBrowse?=?new?JButton("Browse");
btnBrowse.addActionListener(this);
btnBrowse.setBounds(12,?9,?91,?21);
getContentPane().add(btnBrowse);
setVisible(true);
}
public?static?void?main(String[]?args)?{
new?App();
}
public?void?actionPerformed(ActionEvent?e)?{
JFileChooser?chooser?=?new?JFileChooser();
chooser.setMultiSelectionEnabled(true);
FileNameExtensionFilter?filter?=?new?FileNameExtensionFilter(
"JPG??GIF?Images",?"jpg",?"gif");
//?設置文件類型
chooser.setFileFilter(filter);
//?打開選擇器面板
int?returnVal?=?chooser.showOpenDialog(this);
if?(returnVal?==?JFileChooser.APPROVE_OPTION)?{
selectedFiles?=?chooser.getSelectedFiles();
repaint();
}
}
public?void?mouseClicked(MouseEvent?e)?{
}
public?void?mouseEntered(MouseEvent?e)?{
}
public?void?mouseExited(MouseEvent?e)?{
}
public?void?mousePressed(MouseEvent?e)?{
Point?point?=?MouseInfo.getPointerInfo().getLocation();
x?=?point.x;
y?=?point.y;
}
public?void?mouseReleased(MouseEvent?e)?{
Point?point?=?MouseInfo.getPointerInfo().getLocation();
int?thisX?=?point.x;
int?thisY?=?point.y;
System.out.println("thisX="?+?thisX?+?"??"?+?"thisY="?+?thisY);
if?((y?-?thisY??20??y?-?thisY??0)
||?(y?-?thisY??0??y?-?thisY??-20))?{
//?Y?在20范圍內移動認為是水平移動
if?(x??thisX)?{
//?right
if?(selectedFiles?!=?null
?fileIndex??selectedFiles.length?-?1)?{
fileIndex++;
}
}?else?{
//?left
if?(selectedFiles?!=?null??fileIndex??0)?{
fileIndex--;
}
}
}?else?{
if?(x??thisX)?{
//?右下
width?+=?20;
height?+=?20;
}?else?{
//?左上
width?-=?20;
height?-=?20;
}
}
repaint();
}
class?ImagePanel?extends?JPanel?{
public?void?paint(Graphics?g)?{
super.paint(g);
if?(selectedFiles?!=?null)?{
ImageIcon?icon?=?new?ImageIcon(selectedFiles[fileIndex]
.getPath());
g.drawImage(icon.getImage(),?0,?0,?width,?height,?this);
}
}
}
}
有兩種方式一種:window.showModalDialog('yueshOperate.do?method=getYingxzmkehh='+kehh+'yingxid='+yingxid,yue,"dialogWidth:900px;dialogHeight:640px;help:no;scroll:yes;center:yes;status:no");的形式就直接修改dialogWidth:900px;dialogHeight:640px,調節(jié)數(shù)字大小就行了;
第二種是windows.open的形式和這個一樣也是找到width和height項修改大小即可
要用Java實現(xiàn)圖形的放大和縮小,可以使用以下代碼:
import java.awt.*;import java.awt.event.*;import javax.swing.*;//實現(xiàn)矩形在規(guī)定時間間隔里循環(huán)放大縮?。?/p>
public class Test02 extends JFrame implements Runnable{?static int w = 0,h = 0;?//w:矩形寬度,h:矩形高度 ;
boolean flag = false;//false:放大,true:縮小?public Test02(){????this.setSize (500,500);??this.setVisible (true);??this.setTitle (w+","+h);??this.setLocationRelativeTo (this);??this.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);?}??public void paint(Graphics g){??int width = getWidth();
//窗口寬度??int height = getWidth();??//窗口高度??g.setColor (Color.WHITE);?//設置畫筆顏色??g.fillRect (0,0,width,height);? //填充窗口??int x = (width-w)/2;?//x:矩形左上角橫坐標??int y = (height-h)/2;?//y:矩形左上角縱坐標??g.setColor (Color.BLUE);?//同上...??g.drawRect (x,y,w,h);
//畫矩形,實心矩形為fillRect(....)??g.setColor (Color.RED);?//同上...??g.drawOval (x,y,w,h);???? //畫橢圓??setTitle (w+","+h);???? //以矩形寬和高來設置窗口標題?}?public void setSize(){??float n = getWidth()/getWidth();??if(w==0||h==0)???flag = false;
if(w==getWidth()||h==getWidth())???flag = true;??if(!flag){???w+=1;???h+=n;??}??if(flag){???w-=1;???h-=n;??}???}?public void run(){??while(true){???try{????Thread.sleep (5);//間隔???}catch(InterruptedException ie){}??????setSize();???repaint();??}?}?public static void main(String[] args){??Test02 t = new Test02();??Thread th = new Thread(t);??th.start();?}}
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向對象編程語言的代表,極好地實現(xiàn)了面向對象理論,允許程序員以優(yōu)雅的思維方式進行復雜的編程 。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態(tài)性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應用程序等。
vc6.0設置如下:點菜單 工具-》選擇,然后彈出一個對話框,找到“格式”選項卡,里面可以設置字體,背景色和前景色。截圖如下:
放大圖像不會導致失真,而縮小圖像將不可避免的失真。
Java中也同樣是這樣。
但java提供了4個縮放的微調選項。
image.SCALE_SMOOTH //平滑優(yōu)先
image.SCALE_FAST//速度優(yōu)先
image.SCALE_AREA_AVERAGING //區(qū)域均值
image.SCALE_REPLICATE //像素復制型縮放
image.SCALE_DEFAULT //默認縮放模式
調用方法
Image new_img=old_img.getScaledInstance(1024, 768, Image.SCALE_SMOOTH);
得到一張縮放后的新圖。