package swing;
import java.awt.AlphaComposite;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Composite;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Paint;
import java.awt.Shape;
import java.awt.geom.AffineTransform;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
//import com.sun.awt.AWTUtilities;
public class demo extends JPanel
{
public demo()
{
//super();
setVisible(true);
setBackground(Color.BLACK);
setForeground(Color.WHITE);
setBounds(0, 0, 600, 600);
}
public static void main(String[] args)
{
JFrame f = new JFrame();
// AWTUtilities.setWindowOpacity(f, 0.8f);
f.setSize(1024, 768);
f.add(new demo());
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
@Override
public void paint(Graphics g)
{
super.paint(g);
Graphics2D g2d=(Graphics2D)g;
int width = getWidth()/2;
int height = getHeight()/2;
g2d.setStroke(new BasicStroke(6));//粗细
g2d.setColor(Color.red);
g2d.drawArc (5, 5, 500, 750, 45, 90+45); //圆弧
AlphaComposite alphaComposite=AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.42f);
g2d.setComposite(alphaComposite);//透明度
AffineTransform affineTransform=new AffineTransform();
affineTransform.setToTranslation(0, 0);
affineTransform.setToRotation(Math.PI/10);//旋转
g2d.transform(affineTransform);
ImageIcon imageIcon= new ImageIcon(getClass().getResource("green1.jpg"));
g2d.drawImage(imageIcon.getImage(),0,0,null);//背景
Paint paint=new GradientPaint(0, 0, Color.RED, 222,222, Color.green, true);//渐变
g2d.setPaint(paint);
g2d.fillRoundRect(188, 188, 300, 300, 33, 33);//矩形
g2d.setClip(50,50,300, 300);
g2d.setColor(Color.blue);
g2d.fillPolygon(new int[] {0,200,400},new int[] {333,0,333},3);//三角形
//在矩形范围内画三角形 形成梯形
}
}
相关推荐
首先,要实现`JFrame`的透明,我们需要设置`JFrame`的透明度。Java提供了`setOpacity()`方法来调整窗口的透明度。这个方法接受一个介于0.0(完全透明)到1.0(完全不透明)之间的浮点数参数。例如: ```java frame....
这个方法允许开发者设置窗口的不透明度,参数范围从0.0(完全透明)到1.0(完全不透明)。例如,你可以这样设置一个窗口为50%的透明度: ```java Window window = new JFrame(); window.setOpacity(0.5); ``` 二、...
- `JFrame`或`JWindow`的`setOpaque(false)`方法可以使其不透明,然后通过`setAlpha()`设置透明度级别。 7. **给JTextPane加上底图**: - 可以使用`javax.swing.ImageIcon`加载图像,并将其作为背景应用到`...
PNG格式是一种无损压缩的图像文件格式,支持24位色彩和透明度,使得PNGButton能够创建出具有独特视觉效果的按钮。 在GUI设计中,PNGButton的使用可以增强应用或网站的视觉吸引力。设计师通常会利用图像编辑软件(如...
Java2D提供了高级的绘图功能,如路径操作、渐变填充、抗锯齿和透明度设置,可以实现复杂的图形效果。 4. **Graphics2D**:作为Java2D的核心类,`java.awt.Graphics2D`扩展了Graphics,提供了更多的2D绘图方法,如...
4. **颜色与填充**:讨论如何使用颜色,包括纯色、渐变色、图案填充等。 5. **变换**:介绍平移、旋转、缩放等几何变换,并展示如何在Java中应用这些变换。 6. **文本渲染**:讲述如何在图形上添加文本,包括字体...
在绘制火焰时,可能通过调整Alpha值来改变火焰的透明度,使得火焰有渐变的效果,更加逼真。 6. **BufferedImage类**: `java.awt.image.BufferedImage`是一个内存中的图像,可以被用于存储和操作图像数据。开发者...
- Java的Graphics2D类允许设置颜色的透明度。使用`setComposite(AlphaComposite)`方法可以改变绘制的透明度,从而实现遮照效果的渐变。 5. **事件监听**: - 可以添加鼠标或键盘监听器,使得遮照效果响应用户的...
- **概念**:`AlphaComposite`类提供了多种组合模式,用于处理图像中的透明度。其中最重要的两种是`SRC_OVER`和`DST_IN`。 - **SRC_OVER**:表示源图像覆盖在目标图像之上时的合成规则。这种模式最常用,可以实现半...
画刷对象通常有多种类型,可以是纯色、渐变色、纹理(图像)或图案,开发者可以通过选择不同的画刷来实现丰富的视觉效果。 1. **纯色画刷**:这是最基础的画刷类型,用于填充单色。在代码中,我们可以指定RGB或ARGB...
- 透明窗体:某些编程环境支持设置窗体的透明度,如WinForms的`Form.TransparencyKey`或Java的`setOpaque(false)`。 7. **性能考虑** - 频繁改变窗体颜色可能会影响程序性能,尤其是对大量或大尺寸窗体操作时,需...
4. **设置柱状图外观**:可以调整柱子的颜色、宽度、透明度等属性,以及添加阴影效果。 5. **绘制图表**:最后,将图表渲染到`BufferedImage`或者直接显示在`JFrame`上。 ### 3. 饼图的创建 饼图用于显示部分与...
6. **透明度控制**:对透明度的控制较为笨拙,不易实现复杂的视觉效果。 #### 三、Java 2D 基础概念 - **坐标系统**:Java 2D 使用像素作为单位,最小的分辨率单位为一个像素。坐标原点位于组件左上角,X 轴向右为...
`paintComponent()`使用`Graphics2D`对象进行渲染,通过调整透明度(`alpha`)和颜色,根据`exited`和`pressed`状态绘制复杂的边框渐变效果。这里的算法根据高度`height`动态计算颜色值,创建一种立体感和深度的视觉...
- `JPanel`:作为基础容器,用于放置其他组件,例如`JRadioButton`和`JCheckBox`,并可自定义背景色和透明度。 - `JRadioButton` 和 `ButtonGroup`:用于创建一组互斥的选择项,类似Windows导航栏中的各个选项。 ...
这个示例将创建一个500x500像素的透明背景图片,其中包含一个480x480像素的圆角矩形,圆角半径为30像素,并将其保存为PNG图像。 在"RoundCorner-master"这个压缩包中,很可能包含了类似这样的示例代码,通过不同的...
JFreeChart允许你对柱状图进行高度定制,包括改变颜色、添加渐变色、调整标签样式、修改轴的刻度线和标签、设置图例样式等。此外,还可以通过`Renderer`接口来实现更复杂的定制,比如设置柱状图的透明度和宽度。 5...
2. **色彩和渐变**:支持颜色操作,如混合、渐变,以及色彩模式和透明度的设置。 3. **文本处理**:包含文本布局和渲染的功能,支持多种字体和排版效果。 4. **表格组件**:提供了一个基本的表格组件,可以用于显示...
"画刷"在图形编程中是指用于填充形状的工具,它可以设置填充的颜色、图案和透明度。画刷的类型和颜色选择极大地影响了图形的视觉效果。例如,你可以使用实心画刷来填充单色,或者使用渐变画刷来创建色彩过渡的效果。...
- **`java.awt.AlphaComposite`**:用于定义透明度和混合模式,使得图形可以有透明效果。 - **`java.awt.BasicStroke`**:定义线的样式,包括宽度、端点和连接处的样式。 - **`java.awt.Color`**:表示颜色的类,...