小编use*_*828的帖子

Java淡入淡出图像

我正在尝试学习如何淡入淡出图像到另一个图像或另一个图像.因此,如果我有2张图像,此时显示1,我想在背景中显示另一张图像,并将第一张图像淡入第二张图像.或者,我想将焦点设置在新图像上并在第一张图像上慢慢淡入,然后停止显示第一张图像.

我不确定如何:

  1. 即使需要也能设定焦点.

  2. 如果我将alpha更改为0并递增并仅绘制一个图像,我可以淡入,但是我无法通过此代码的任何变化使其淡出.(即评论出一幅图像).

编辑:真的,我担心的是能够拥有2张图像并使当前正在显示的图像慢慢消失在第二张图像中.如何实现这一点并不需要与此相关.

这是我正在搞乱的代码示例:

import java.awt.AlphaComposite;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;

public class FadeIn extends JPanel implements ActionListener {

    private Image imagem;
    private Image image2;
    private Timer timer;
    private float alpha = 1f;

    public FadeIn() {
        imagem = (new ImageIcon(getClass().getResource(
             "/resources/1stImage.jpg"))).getImage();
        image2 = (new ImageIcon(getClass().getResource(
             "/resources/2ndImage.jpg"))).getImage();    
        timer = new Timer(20, this);
        timer.start();
    }
    // here you define alpha 0f to 1f

    public FadeIn(float alpha) { …
Run Code Online (Sandbox Code Playgroud)

java animation swing transparency image

5
推荐指数
1
解决办法
1万
查看次数

跟踪Unix中的子进程

我已经完成了一个C程序,它产生了许多进程,然后在短时间内杀死它们.我是新手,并试图弄清楚为什么我试图跟踪我的进程来杀死作品.我的指针pid_t* id指向cmd line参数创建时要求的进程ID数.

现在这是我的窘境.fork()返回child和parent的值,但是我找不到它是如何工作的固定顺序.它是先返回子值还是父值,还是未定义?

id[]阵列是为每个生成的进程相同,右(如在有未被催生n_child阵列)?

由于程序100%的时间都在工作,所以看起来父总是最后返回,因为这是在杀戮过程中存储在数组中的内容.这是一种"安全"的方式来跟踪流程(请记住,我不是在寻找最好的方式或任何东西,因为我确信有更好的方法)?似乎答案应该是否定的,并且如果我确定它是父级,我应该只设置数组.

这是代码:

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <signal.h>

#define MAX_N_CHILD 10

int main (int argc, char **argv) {
  int n_child, i;
  pid_t* id; 
  /* note: on a 32 bit machine, pid_t is defined as the __S32_TYPE,
     which is an int rather than a long */

  if (argc == 2) { 
    n_child = atoi (argv[1]); /* captures the command line argument */
    /* **NOTE** argv[0] is always the …
Run Code Online (Sandbox Code Playgroud)

c unix fork

2
推荐指数
1
解决办法
3214
查看次数

C++:如何验证已删除的指针

我正在大学里学习C++中的指针.我编写了一个程序,它是一个二进制对象树,指向一个链接的子对象列表.如果我甚至是正确的措辞.无论如何,我的程序似乎工作正常,但我无法绕过如何测试指针删除.

例如,我对二叉树的单个对象的删除函数是:

    void EmployeeRecord::destroyCustomerList()
    {
        if(m_oCustomerList != NULL)
        {
            delete m_oCustomerList;
            m_oCustomerList = NULL;           
        }
    }
Run Code Online (Sandbox Code Playgroud)

打印我的树时,所有内容都会填充并正确取下(意味着每次删除节点时树都保持不变)...但是如何确认解除分配的内存会发生什么?我知道,因为我将指针*m_oCustomerList设置为NULL,我可以测试先前填充的对象上的NULL值,但实际内存会发生什么?

我正在使用Visual Studio/C++并且已经读过调试器将使用从0xCC开始的代码来释放内存......但我似乎无法弄清楚如何使用该信息.

c++

1
推荐指数
1
解决办法
647
查看次数

Linux 内核中进程的年龄

给予struct task_struct合作。确定进程有多老的最佳方法是什么?

用于task_struct保存指向其下一个最小的兄弟姐妹和最大的孩子的特定指针。这在某些内核版本中似乎不再可用。

我专门使用 Android goldfish 内核。我一直在尝试学习如何使用该list_head结构来迭代进程,但我似乎无法弄清楚如何确定每个子进程或兄弟进程的年龄。

那么,什么成员或用法task_struct可以做到这一点?

c linux task linux-kernel android-kernel

0
推荐指数
1
解决办法
2305
查看次数

从派生类调用重载的基础构造函数

如果我理解正确,则始终使用创建派生类的对象来调用基类构造函数.有没有办法在创建派生对象时调用重载的基类构造函数?

c++ c++11

-4
推荐指数
1
解决办法
1577
查看次数

标签 统计

c ×2

c++ ×2

android-kernel ×1

animation ×1

c++11 ×1

fork ×1

image ×1

java ×1

linux ×1

linux-kernel ×1

swing ×1

task ×1

transparency ×1

unix ×1