当前位置: 首页 > 知识库问答 >
问题:

使图像在X秒后消失(处理)

罗河
2023-03-14

我目前正在做一个项目,我希望一个图像在3秒钟后弹出。一旦图像弹出,用户必须点击图像,使一个“完成”的图像弹出,该图像将在3秒钟后自动消失。

除了消失的那部分,我的大部分都在工作。有人知道我怎么能在3秒钟后让图像消失吗?

java prettyprint-override">PImage medic;
PImage medicD;

float time;
float startTime;

final int waitpopup = 3000;
final int DISPLAY_DURATION = 3000;

boolean showimage = true;
boolean showclock = true;
boolean showimagedone = true;
boolean hasClicked;

Clock clock;

void setup (){
size (1080, 1920);

 medic = loadImage("medic.png");
 medicD = loadImage("medicD.png");
 clock = new Clock(width /2, height /2);
 time = millis();
} 

void draw() {
 background (0);
 imageMode(CENTER);

 if (showclock) clock.display();

 if (showimage && millis() - time > waitpopup) {
   image(medic, width/2, height/2, 540, 540);
   } if (hasClicked == true) {
       showimage = false;
       image(medicD, width/2, height/2, 540, 540);
     } if (millis() > startTime + DISPLAY_DURATION) {
       showimagedone = false;
     }     
}

 void mousePressed() {
   hasClicked = true; 
   startTime = time;
 }

共有1个答案

李经国
2023-03-14

您可以使用millis()函数frameCount变量来检查过去了多少时间,然后在X秒后或X帧后执行某些操作。

您已经在使用show Imagedone变量做一些工作,但是您需要使用该变量有条件地绘制您的图像。

我建议从一个更简单的例子开始,让它发挥作用。这里有一个例子:

int clickedFrame;
boolean on = false;
int duration = 60;

void draw(){

  if(on){
    background(255);
    if(frameCount > clickedFrame + duration){
     on = false; 
    }
  }
  else{
   background(0); 
  }
}

void mousePressed(){
  clickedFrame = frameCount;
  on = true;
}

每当用户单击鼠标时,此代码都会显示一秒钟的白色背景。你需要对你的图像做一些类似的事情。

相关职位:

  • 如何使处理项目延迟?
  • 我怎么能只画每一个x帧?
  • 每500帧从ArrayList中移除元素
  • 处理中基于时间的事件
  • 如何在处理中每10秒向变量添加1?
  • 如何创建时间=x时发生的事情
  • 在处理中制作一个"戳回"程序
  • 处理:我如何每隔"x"时间创建一个对象
  • 计时器使用framerate和帧计数器可靠吗?
  • 在处理中添加延迟

有关更多信息,请参阅处理参考。

如果你仍然无法让它工作,请发布一个MCVE(不是你的完整项目!)在一个新问题中,我们将从那里开始。祝你好运

 类似资料:
  • 我有回家的路线。在这个主路由中,我使用Jimp库来处理图像,调整它的大小,然后更改质量,最后将图像保存在目录中,但我想下载图像,以便用户可以在他的机器上下载。但它没有下载。我正确地保存在名为output.jpg的目录中。这是密码 app.get(“/”,(req,res)=>{ res.type(“jpg”);RES.Attachment(“output.jpg”) jimp.read('lenn

  • 我已经创建了一个JavaFX应用程序,它有许多TableView来显示内容,如果我运行Jar文件,应用程序可以正常工作。因为我需要分发应用程序给我的客户,所以我的代码应该被混淆。我正在使用Proguard-4.8来混淆我的代码。 我使用Ant创建了一个示例TableView构建脚本,该脚本混淆了示例jar。 在混淆之前只符合jar- 我已经完全运行了。你会发现- build.xml-http://

  • 我想知道是否有人试图使用类固醇应用程序拍摄图像,并通过api将其发布到后端? 我在他们自己的文档中发现的唯一关于图像处理的事情是如何捕获图像以及如何以base64编码保存它们,但是我如何使用base64编码的图像,并且是否可以通过api发布它们? 代码示例: $ scope . start capture = function(){ navigator . Camera . get picture

  • 问题内容: 从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我最近遇到了至少需要基本图像处理程度的问题,我可以在Python中执行此操作吗? 问题答案: 最著名的库是PIL。但是,如果仅执行基本操作,则使用Image

  • 大多数图像处理和操作技术可以使用两个库进行有效的处理:Python Imaging Library (PIL) 和 OpenSource Computer Vision (OpenCV)。 下面来简单介绍一下这两个库。 Python 图像库 Python 图像库, 全称为 Python Imaging Library,简称PIL,是Python图像操作的核心库之一。遗憾的是,PIL 的开发工作已经

  • Tensorflow封装了很多图像处理的操作,包括读取图像、图像处理、写图像到文件等等。在批量处理图像时,Tensorflow要求所有的图像都要有相同的Size,即$$(height,width,channels)$$。 读取图像 %matplotlib inline import tensorflow as tf import numpy as np #mil.use('svg') mil.us