在我的学习中,我有图形课。我们有Bresenham来画线条和画圆。在下一课中,我将学习泛洪填充。对于泛洪填充,我需要获取像素颜色来检查是否需要填充。这是我从所有课程中获得的代码。
package lab1;
import javax.swing.*;
import java.awt.*;
import java.util.Random;
public class Lab1 extends JPanel{
private Random random = new Random();
private boolean isRed;
private String s =
我试图用下面的代码制作一个3D框,两边都有一个图案,但是当从特定的角度观察时,当看到前脸的透明部分时,背面就会消失。我还在想,是否可以在每张脸上都有不同的图案?事先非常感谢!
let r = 10
let a = 0
let c = 20
let angle = 0
let art
function setup() {
createCanvas(windowWidth, windowHeight, WEBGL);
art = createGraphics(800, 800)
}
function draw() {
background(0);
let x = r
带有hdpi屏幕的电脑越来越常见,我自己也有一台。
我正在构建一个带有P5.js画布的网页,其中填充了一个div。到目前为止,我绝对没有问题,但是由于我有一个hdpi屏幕,要渲染的像素数是巨大的,并且很难顺利地呈现。
我想做的是:渲染一个低分辨率的画布,拉伸它来填充所有的空间。但我不知道如何做到这一点,即使有可能。
function setup() {
var canvasDiv = document.getElementById('myCanvas');
var divWidth = canvasDiv.getBoundingClientRect().wi
我用beginShape、endShape和curveVertex创建了一个形状。我的代码是这样的:
function setup() {
createCanvas(400, 400);
}
function draw() {
background(220);
strokeWeight(5);
point(84, 91);
point(68, 19);
point(21, 17);
point(32, 91);
strokeWeight(1);
fill(0); // HOW TO FILL WITH IMAGE
beginShape();
curveVertex(
在p5.js中绘制alpha值低于255的颜色时,似乎应用了转换:
for (const color of [[1,2,3,255],[1,2,3,4],[10,11,12,13],[10,20,30,40],[50,100,200,40],[50,100,200,0],[50,100,200,1]]) {
clear();
background(color);
loadPixels();
print(pixels.slice(0, 4).join(','));
}
Input/Expected Output Actual Output (Firefox)
我需要创建一个具有指定背景颜色的矩形BufferedImage,在背景上绘制一些图案并将其保存到文件中。我不知道如何创建背景。
我使用的是嵌套循环:
BufferedImage b_img = ...
for every row
for every column
setRGB(r,g,b);
但当图像很大时,它会非常慢。
如何以更有效的方式设置颜色?
我想知道是否有更有效的方法来替换BufferedImage中的颜色。目前,我使用以下方法:
我用要替换的颜色和要替换的颜色填充数组,包括透明度。然后我遍历图像中的每个像素。如果它与数组中的一种颜色匹配,我就用数组中的新颜色替换它。代码如下:
Graphics2D g2;
g2 = img.createGraphics();
int x, y, i,clr,red,green,blue;
for (x = 0; x < img.getWidth(); x++) {
for (y = 0; y < img.getHeight(); y++) {
我刚开始学习p5.js,我有一个随机颜色的问题。现在,我看到,只有当我重新启动代码时,颜色才会被随机重置。但是,当鼠标被按下时,是否有可能做到这一点呢?
这是我的代码:
let r, g, b;
function setup() {
createCanvas(400, 400);
r = random(255);
g = random(255);
b = random(255);
}
function draw() {
if (mouseIsPressed) {
fill(r,g,b);
} else {
fill(255);
}
el
在Java 7中,我创建了一个BufferedImage对象:
BufferedImage i = new BufferedImage(300, 300, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = i.createGraphics();
然后用颜色填充部分图像,使用几次对fillPolygon、drawImage等的调用(请注意,我的一些颜色的alpha值小于255)。
我的问题是,如何构造一个只包含在Area中绘制的区域的BufferedImage对象?通过阅读API文档,我相信可以通过检查Raster方法返回的getAlphaRaster来完
我试图在p5.js中画一个Perlin噪声图像。我学习了Daniel的教程,他给出了一个如何设置2D Perlin噪声的示例(为了方便起见,我已经将它加载到中了)。
现在我不需要填充Perlin噪声的整个画布,但我只需要一个(较小的) perlin噪声图像,我可以像画布中的图像文件一样使用它。因此,在设置函数中,我使用了createImage(),然后使用完全相同的算法将Perlin噪声加载到图像中。然而,当我现在展示这个,噪音看起来完全扭曲了。
这是我的代码:
// noise code originally by
// Daniel Shiffman
// http://codingtra