java示例代码_-如何使用图形对象g绘制透明形状

     2022-03-30     136

关键词:

java示例代码_-如何使用图形对象g绘制透明形状

import java.awt.*;
import java.awt.geom.*;
import java.awt.image.BufferedImage;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.*;

public class OneRing 

    OneRing(BufferedImage imageBG, BufferedImage imageFG) 
        // presumes the images are identical in size BNI
        int w = imageBG.getWidth();
        int h = imageBG.getHeight();
        Ellipse2D.Double ellipse1 = new Ellipse2D.Double(
                w/16,h/16,7*w/8,7*h/8); 
        Ellipse2D.Double ellipse2 = new Ellipse2D.Double(
                w/4,h/4,w/2,h/2);
        Area circle = new Area(ellipse1);
        circle.subtract(new Area(ellipse2));

        Graphics2D g = imageBG.createGraphics();
        g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        g.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE);
        g.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
        g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
        g.setClip(circle);
        g.drawImage(imageFG, 0, 0, null);
        g.setClip(null);
        Stroke s = new BasicStroke(2);
        g.setStroke(s);
        g.setColor(Color.BLACK);
        g.draw(circle);
        g.dispose();

        JLabel l = new JLabel(new ImageIcon(imageBG));
        JOptionPane.showMessageDialog(null, l);
    

    public static void main(String[] args) throws Exception 
        URL urlFG = new URL("http://pscode.org/media/stromlo2.jpg");
        URL urlBG = new URL("http://pscode.org/media/stromlo1.jpg");
        final BufferedImage biFG = ImageIO.read(urlFG);
        final BufferedImage biBG = ImageIO.read(urlBG);
        SwingUtilities.invokeLater(new Runnable()
            @Override
            public void run() 
                new OneRing(biBG, biFG);
            
        );
    

java示例代码_图形如何在按键中绘制图像

java示例代码_图形如何在按键中绘制图像 查看详情

java示例代码_如何在Java中获取图形对象

java示例代码_如何在Java中获取图形对象 查看详情

java示例代码_确保JPanel上绘制的形状不重叠

java示例代码_确保JPanel上绘制的形状不重叠 查看详情

java示例代码_在JFrame内创建画布,并绘制一些基本形状

java示例代码_在JFrame内创建画布,并绘制一些基本形状 查看详情

java示例代码_用不透明度绘制渐变

java示例代码_用不透明度绘制渐变 查看详情

java示例代码_在Java中使绘制的图像透明

java示例代码_在Java中使绘制的图像透明 查看详情

opencv绘制形状与文字(代码片段)

文章目录绘制图形相关APIcv::Point与cv::Scalar对象cv::Point:cv::Scalar:画线cv::line(LINE_4\\LINE_8\\LINE_AA)画椭圆cv::ellipse画矩形cv::rectangle画圆cv::circle画填充cv::fillPoly画文字cv::putText代码示例绘制图形相关 查看详情

opencv绘制形状与文字(代码片段)

...v::rectangle画圆cv::circle画填充cv::fillPoly画文字cv::putText代码示例绘制图形相关APIcv::Point与cv::Scalar对象cv::Point:Point:用于表示二维坐标系下的点,如:Pointp=Point(2,3);Point2fp=Point2f(42.4,24.4);Point3ip=Point3i(2,3,4)还... 查看详情

java示例代码_将一个形状或位图绘制成另一个位图,Java/android

java示例代码_将一个形状或位图绘制成另一个位图,Java/android 查看详情

java示例代码_在图形的顶部绘制一个JMenuBar

java示例代码_在图形的顶部绘制一个JMenuBar 查看详情

java示例代码_使用自定义绘图类在java slick中绘制对象

java示例代码_使用自定义绘图类在java slick中绘制对象 查看详情

java示例代码_在图形上绘制带背景的字符串

java示例代码_在图形上绘制带背景的字符串 查看详情

java示例代码_在JFrame中的paint()函数之外绘制图形

java示例代码_在JFrame中的paint()函数之外绘制图形 查看详情

java示例代码_通过在Swing中的面板上单击鼠标右键来绘制形状

java示例代码_通过在Swing中的面板上单击鼠标右键来绘制形状 查看详情

java示例代码_绘制一个简单的图形用户界面直方图

java示例代码_绘制一个简单的图形用户界面直方图 查看详情

java示例代码_如何使用JUNG绘制树层次结构

java示例代码_如何使用JUNG绘制树层次结构 查看详情

java示例代码_以图形方式重新绘制字符串数组,而不与文本重叠

java示例代码_以图形方式重新绘制字符串数组,而不与文本重叠 查看详情

java示例代码_创建一个图形对象

java示例代码_创建一个图形对象 查看详情