gpt4 book ai didi

java - 在 Java 中使用 for 循环重复线条/条纹

转载 作者:太空宇宙 更新时间:2023-11-04 12:16:48 24 4
gpt4 key购买 nike

我想在图像上绘制黑白条纹,在图像顶部水平和垂直地每 20 列切换一次,同时保持在图像边界内。到目前为止,我可以获得一个带有 1 像素宽垂直条纹的黑色正方形。我尝试过通过切换东西来至少在水平线上获得细长的白色条纹,但它仍然是垂直的。

public void zebraStripes() {

Image img = ImageViewer.getImage();

double numPixelsWide = img.getWidth();
int numPixelsHigh = img.getHeight();


Color c = Color.WHITE;
Color b = Color.BLACK;


double i = numPixelsWide;
if (i % 20 == 0) {

for (int x = 0; x < numPixelsHigh; x++) {
for (int y = 0; y < i; y++) {
img.setPixelColor(y, x, b);
}

for (int z = 19; z < i; z = z + 20) {
img.setPixelColor(z, x, c);
}
}
}
}

// paint black and white stripes (left to right) on the image, switching
// every 20th row
public void jailBird() {

Image img = ImageViewer.getImage();

double numPixelsWide = img.getWidth();
double numPixelsHigh = img.getHeight();

Color c = Color.WHITE;
Color b = Color.BLACK;

double i = numPixelsHigh;
if (i % 20 == 0) {

for (int x = 0; x < numPixelsHigh; x++) {
for (int y = 0; y < i; y++) {
img.setPixelColor(y, x, b);
}

for (int z = 19; z < i; z = z + 20) {
img.setPixelColor(z, x, c);
}
}
}
}

}

如何使白色条纹的宽度和水平均为 20 像素?

最佳答案

未经测试!希望它能让你继续前进。

    // paint a 20 pixels wide horizontal line for every 40 pixels
for (int y = 0; y < numPixelsHigh; y += 40) {
// paint a stripe
for (int ys = y; ys < y + 20; ys++) {
for (int x = 0; x < numPixelsWide; x++) {
img.setPixelColor(x, ys, Color.BLACK);
}
}
}

关于java - 在 Java 中使用 for 循环重复线条/条纹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39302855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com