导航:首页 > 编程语言 > java生成长方形图片

java生成长方形图片

发布时间:2023-06-10 14:10:26

『壹』 用java语言写一个二维平面图形(如长方形)的平移,旋转,缩放的程序.

importjavax.swing.*;

importjava.awt.*;

importjava.awt.event.ActionEvent;

importjava.awt.geom.*;

/**

*@

*/

{

=newDimension(300,200);

=newDimension(1024,768);

=newDimension(600,400);

publicDimensiongetMaximumSize(){returnmaxSize;}

publicDimensiongetMinimumSize(){returnminSize;}

(){returnpreferredSize;}

publicStringgetTitle(){return"FrameTitle";}

privateAffineTransformaf=newAffineTransform();

privateStrokestroke=newBasicStroke(2.0f);

privateRectanglerct=newRectangle(40,140,200,140);

privateJComponentcanvas=newJComponent(){

protectedvoidpaintComponent(Graphicsg){

super.paintComponent(g);

g.setColor(Color.BLACK);

g.fillRect(0,0,getWidth(),getHeight());

Graphics2Dg2d=(Graphics2D)g.create();

g2d.setColor(Color.YELLOW);

g2d.setTransform(af);

g2d.setStroke(stroke);

g2d.draw(rct);

g2d.dispose();

}

};

RectTransform()throwsHeadlessException{

init();

doLay();

attachListeners();

}

privatevoidinit(){

}

privatevoiddoLay(){

Containercontainer=getContentPane();

JPanelpanel=newJPanel(newFlowLayout(FlowLayout.CENTER,30,5));

panel.add(newJButton(newAfAction("move",AffineTransform.getTranslateInstance(100,100))));

panel.add(newJButton(newAfAction("rotate",AffineTransform.getRotateInstance(Math.PI/3,40,120))));

panel.add(newJButton(newAfAction("zoomIn",AffineTransform.getScaleInstance(2,2))));

panel.add(newJButton(newAfAction("ZoomOut",AffineTransform.getScaleInstance(.5d,.5d))));

panel.add(newJButton(newAfAction("Original",newAffineTransform())));

container.add(panel,BorderLayout.NORTH);

container.add(canvas,BorderLayout.CENTER);

pack();

}

privatevoidattachListeners(){

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

{

privateAffineTransformaff;

privateAfAction(Stringn,AffineTransformaf){

super(n);

this.aff=af;

}

publicvoidactionPerformed(ActionEvente){

af.setTransform(aff);

if(canvas.isVisible())canvas.paintImmediately(0,0,getWidth(),getHeight());

}

}

publicstaticvoidmain(String[]args){

newRectTransform().setVisible(true);

}

}

『贰』 java代码实现缩放图片,长方形图片变成正方形,上下保留空白区域.

那就把正方形的边长设置成长方形最长的变那么长
不就可以了吗

阅读全文

与java生成长方形图片相关的资料

热点内容
苹果手机屏幕6个密码 浏览:882
如何用手机编程小游戏 浏览:531
输入你的小程序appid 浏览:276
ps文件暂存盘已满 浏览:230
微信红包留言可以语音 浏览:192
c语言画直线代码 浏览:107
华为g7文件管理在哪里 浏览:74
word2003修改批注人 浏览:445
网络的规模是如何扩大的 浏览:381
资料文件夹单价多少 浏览:813
newfilejava 浏览:681
怎么卸载天猫精灵里的app 浏览:544
苹果电脑win7修复漏洞后内存 浏览:850
怎么压缩几个文件夹 浏览:30
usb痕迹深度清理工具 浏览:614
有信账号密码分钟享用 浏览:176
选定的外部参照参照了早期的图形文件格式 浏览:323
苹果官方网站是什么 浏览:727
linux共享文件夹看不到文件 浏览:56
wos的数据分析在哪里 浏览:338

友情链接