【问题标题】:Processing Making PImage with PGraphics使用 PGraphics 制作 PImage 的处理
【发布时间】:2018-11-04 09:27:36
【问题描述】:

我正在尝试对顶部带有圆形的图像进行简单的遮罩。

我不明白为什么它不起作用。图像被正确打印,但不是面具的歌声。这是我的代码:

PImage lion;
PGraphics mask;

void setup() {  
  size(720, 380);

  lion = loadImage("lion.jpg");

  mask = createGraphics(720, 380);
  mask.beginDraw();
  mask.ellipse(0, 0, 150, 150);
  mask.fill(0, 0, 0);
  mask.endDraw();

  mask.mask(lion);
}

void draw() {
  image(lion, 0, 0);
}

狮子图片只是谷歌的随机图片。

【问题讨论】:

  • 你能详细说明你想要什么吗?
  • 欢迎来到 Stack Overflow!其他用户将您的问题标记为低质量和需要改进。我重新措辞/格式化您的输入,使其更易于阅读/理解。请查看我的更改以确保它们反映您的意图。但我认为你的问题仍然无法回答。 现在应该edit你的问题,添加缺失的细节(见minimal reproducible example)。如果您对我有其他问题或反馈,请随时给我留言。

标签: processing


【解决方案1】:

您必须将mask 应用于lion 图像,而不是将lion 图像作为蒙版应用于mask
ellipse() 的前两个参数是椭圆的 x 和 y 中心坐标。
用黑色背景填充整个mask,然后在蒙版中心绘制一个白色椭圆:

void setup() {
    size(720, 380);

    lion = loadImage("lion.jpg");
    int w = lion.width;
    int h = lion.height;

    mask = createGraphics(w, h);
    mask.beginDraw();
    mask.background(0);
    mask.fill(255);
    mask.ellipse(w/2, h/2, w, h);
    mask.endDraw();

    lion.mask(mask);
}

void draw() {
    background(0);
    image(lion, 0, 0);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多