作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了这个奇怪的抗锯齿:
左边的形状和右边的形状完全共享曲线部分。然而,黑色曲线出现并打断了绘图和颜色的平滑度。这是一个示例,旨在说明问题。
起初,对于不同的颜色,我认为这是视错觉,(打开和关闭下面注释的 CHECK_# 行)。但是当使用相同的颜色时,就会发生这种情况。
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.Path2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class darkBorders extends JPanel {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setColor(Color.BLACK);
//g2.setColor(Color.WHITE); //CHECK_1
g2.fill(g2.getClip());
int r = 100;
g2.translate(this.getWidth() / 2 - r, this.getHeight() / 2 - r);
Path2D p = new Path2D.Double();
p.moveTo(0, 0);
p.lineTo(r, 0);
p.quadTo(2 * r, r, r, 2 * r);
p.lineTo(0, 2 * r);
p.closePath();
g2.setColor(new Color(0xFF9900));
//g2.setColor(new Color(0x00CC66)); //CHECK_2
g2.fill(p);
p.reset();
p.moveTo(2 * r, 0);
p.lineTo(r, 0);
p.quadTo(2 * r, r, r, 2 * r);
p.lineTo(2 * r, 2 * r);
p.closePath();
g2.setColor(new Color(0xFF9900));
g2.fill(p);
g2.dispose();
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setContentPane(new darkBorders());
frame.setSize(500, 300);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
有什么可以解决这个问题的吗?非常感谢。
最佳答案
除了 fill
(填充内部)之外,还要执行 draw
(绘制轮廓)。我如履薄冰,但你可以用笔划宽度做一些事情。
关于java - java图形中奇怪的抗锯齿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32906030/
尝试使用 tkinter 为一系列 PIL 图像制作动画。我的帧持续时间 (ms) 的图表如下所示: 有人知道是什么导致了这种尖尖的锯齿图案吗? 这是一个重现的脚本: from PIL import
我正在尝试使用 Canvas 创建“星爆”效果,但线段出现令人难以置信的像素化。我做错了什么吗? var rays = 40; var canvas = $("header canvas")[0];
爪牙 我在 JAGS 中有一个仅拦截逻辑模型,定义如下: model{ for(i in 1:Ny){ y[i] ~ dbern(mu[s[i]]) } for(j in 1:Ns){
我是一名优秀的程序员,十分优秀!