重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
要用Java实现图形的放大和缩小,可以使用以下代码:
创新互联是一家集网站建设,沈河企业网站建设,沈河品牌网站建设,网站定制,沈河网站建设报价,网络营销,网络优化,沈河网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
import java.awt.*;import java.awt.event.*;import javax.swing.*;//实现矩形在规定时间间隔里循环放大缩小;
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++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
放大图像不会导致失真,而缩小图像将不可避免的失真。
Java中也同样是这样。
但java提供了4个缩放的微调选项。
image.SCALE_SMOOTH
//平滑优先
image.SCALE_FAST//速度优先
image.SCALE_AREA_AVERAGING
//区域均值
image.SCALE_REPLICATE
//像素复制型缩放
image.SCALE_DEFAULT
//默认缩放模式
调用方法
Image
new_img=old_img.getScaledInstance(1024,
768,
Image.SCALE_SMOOTH);
得到一张缩放后的新图。
vc6.0设置如下:点菜单 工具-》选择,然后弹出一个对话框,找到“格式”选项卡,里面可以设置字体,背景色和前景色。截图如下:
给你一个简单的例子import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
public class ImageDemo extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private JPanel panel;
private int size = 14;
public ImageDemo() {
super("test");
setVisible(true);// 显示
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();// 屏幕大小
setBounds((d.width - 300) / 2, (d.height - 200) / 2, 300, 200);// 大小,定位
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭方式
setLayout(null);
JButton b1 = new JButton("放大");
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(size = 46){
size += 2;
}else{
JOptionPane.showMessageDialog(null, "字体达到最大值");
}
panel.repaint();
}
});
b1.setBounds(75, 2, 150, 30);
JButton b2 = new JButton("缩小");
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(size = 12){
size -= 2;
}else{
JOptionPane.showMessageDialog(null, "字体达到最小值");
}
panel.repaint();
}
});
b2.setBounds(75, 90, 150, 30);
setPanel();
panel.setBounds(0, 40, 300, 50);
add(b1);
add(panel);
add(b2);
validate();
JPanel pane = (JPanel) this.getContentPane();
pane.updateUI();
}
private void setPanel() {
panel = new JPanel() {
private static final long serialVersionUID = 1L;
@Override
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2D = (Graphics2D) g;
g2D.setFont(new Font("", Font.BOLD, size));
String intNumber = "这是一个简单的JFrame";
g2D.drawString(intNumber, 70, 32);
}
};
}
public static void main(String[] args) {
new ImageDemo();
}
}