第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

假如我要畫一個45度的橢圓?例如下圖的情況,該怎么做?

假如我要畫一個45度的橢圓?例如下圖的情況,該怎么做?

湖上湖 2022-05-25 12:15:04
菜鳥我知道可以利用JAVA的Graphics類的fillArc()方法和drawOval()方法畫出橢圓,在這兩種方法下能畫出四四方方的橢圓。但假如我要畫一個45度的橢圓呢?例如是像的畫法。
查看完整描述

1 回答

?
SMILET

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個贊

使用 AffineTransform 把Ellipse2D 旋轉(zhuǎn)一下就可以了。


import java.awt.image.BufferedImage;import java.awt.geom.AffineTransform;import java.awt.geom.Ellipse2D;import java.awt.Color;import java.awt.Shape;import java.awt.Graphics2D;import java.awt.RenderingHints;import java.io.File;import javax.imageio.ImageIO; public class DemoPNG {    public static void main(String[] args) throws Exception {        BufferedImage bi = new BufferedImage(600800, BufferedImage.TYPE_INT_ARGB);        Graphics2D g2d = bi.createGraphics();        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);        g2d.setPaint(Color.WHITE);        g2d.fillRect(0,0,600800);        g2d.setPaint(Color.RED);        Ellipse2D s1 = new Ellipse2D.Double(100100400600);        g2d.draw(s1);        AffineTransform transform = AffineTransform.getRotateInstance(Math.PI/4300400);        Shape r1 = transform.createTransformedShape(s1);        g2d.fill(r1);        AffineTransform transform2 = AffineTransform.getRotateInstance(Math.PI/2300400);        Shape r2 = transform2.createTransformedShape(s1);        g2d.draw(r2);        g2d.dispose();        ImageIO.write(bi, "PNG"new File("demo.png"));    }}




查看完整回答
反對 回復(fù) 2022-05-30
  • 1 回答
  • 0 關(guān)注
  • 288 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號