本文目录一览:
- 1、java 在默认黑色背景下画出一个随即色彩的渐变圆
- 2、Java图像渐变如何显示图像
- 3、如何做一个java和程序,能实现颜色的渐变功能的?
- 4、怎么用Java多线程实现面板颜色渐变;麻烦给你具体例子。
java 在默认黑色背景下画出一个随即色彩的渐变圆
您好,现给你一个简单MFC对话框例子,工程名为TEXT:
(1)Text.h:
class CTextApp : public CWinApp
{
public:
CTextApp();
~CTextApp();
// 重写
public:
virtual BOOL InitInstance();
ULONG_PTR gdiplusToken;
// 实现
DECLARE_MESSAGE_MAP()
};
extern CTextApp theApp;
注:ULONG_PTR gdiplusToken; ~CTextApp(); 为新添加的东西
(2)Text.cpp里
CTextApp::~CTextApp()
{
//GDI+释放
GdiplusShutdown(gdiplusToken);
}
BOOL CTextApp::InitInstance()
{
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControlsEx()。否则,将无法创建窗口。
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(InitCtrls);
CWinApp::InitInstance();
//GDI+初始化
GdiplusStartupInput StartupInput;
GdiplusStartup(gdiplusToken, StartupInput, NULL);
AfxEnableControlContainer();
// 创建 shell 管理器,以防对话框包含
// 任何 shell 树视图控件或 shell 列表视图控件。
CShellManager *pShellManager = new CShellManager;
// 标准初始化
// 如果未使用这些功能并希望减小
// 最终可执行文件的大小,则应移除下列
// 不需要的特定初始化例程
// 更改用于存储设置的注册表项
// TODO: 应适当修改该字符串,
// 例如修改为公司或组织名
SetRegistryKey(_T(“应用程序向导生成的本地应用程序”));
CTextDlg dlg;
m_pMainWnd = dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: 在此放置处理何时用
// “确定”来关闭对话框的代码
}
else if (nResponse == IDCANCEL)
{
// TODO: 在此放置处理何时用
// “取消”来关闭对话框的代码
}
// 删除上面创建的 shell 管理器。
if (pShellManager != NULL)
{
delete pShellManager;
}
// 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
// 而不是启动应用程序的消息泵。
return FALSE;
}
注:GdiplusStartupInput StartupInput; GdiplusStartup(gdiplusToken, StartupInput, NULL);为新添加的东西
(3)stdafx.h
//GDI+
#includegdiplus.h
using namespace Gdiplus;
#pragma comment(lib, “gdiplus.lib”)
注:以上为为新添加的东西,需要的头文件就是上而这些
(4)接着你就可以使用LinearGradientBrush, 在TextDlg.cpp
void CTextDlg::OnPaint()
{
Graphics graphics(this-m_hWnd);
LinearGradientBrush linGrBrush(
Point(0,0),
Point(200,0),
Color(255,255,0,0),
Color(255,0,0,255));
graphics.FillRectangle(linGrBrush, 0, 0, 200, 200);
}
Java图像渐变如何显示图像
image=getImage(getCodeBase(),”a.gif”);
这一行描述图片的,显示图片是a.gif
image=getImage(getCodeBase(),”F:\\新建文件夹\\图片\\素材\\f.jpg”);
例如,要用绝对路径
如何做一个java和程序,能实现颜色的渐变功能的?
import javax.swing.JFrame ;
import javax.swing.JPanel ;
import java.awt.Color ;
public class ChangeColor extends JFrame implements Runnable {
private JPanel p ;
public static void main(String args[]) {
ChangeColor w = new ChangeColor();
w.setVisible(true) ;
}
public ChangeColor() {
//设置窗体属性
this.setSize(300,300) ;
//new出组件
p = new JPanel() ;
//初始化组件属性
//布置窗体
this.add(p) ;
//启动线程
new Thread(this).start() ;
}
public void run() {
while(true) {
for (int r = 0; r256; r++)
for (int g = 0; g256; g++)
for (int b = 0; b256; b++) {
this.p.setBackground(new Color(r , g ,b)) ;
try { Thread.sleep(10) ; } catch (Exception ex) { }
this.repaint() ;
}
}
}
}
怎么用Java多线程实现面板颜色渐变;麻烦给你具体例子。
用定时器不行么?
顺便写了个,参考而已
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.Timer;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.event.ActionListener;
public class TestA extends JFrame implements ActionListener {
//—–要实现ActionListener接口
public Timer t;
public JButton jb;
//—–一个定时器一个按钮用来显示变色效果
public int red = 0;
public int green = 0;
public int blue = 0;
public TestA() {
jb = new JButton(“test”);
jb.setBackground(Color.BLUE);
//—–定时器设置为0.2秒触发1次事件
t = new Timer(200, this);
this.setSize(200, 200);
this.getContentPane().add(jb);
this.setVisible(true);
//—–定时器开始运行
this.t.start();
}
public void actionPerformed(ActionEvent e) {
red += 5;
green += 10;
blue += 15;
red %= 255;
green %= 255;
blue %= 255;
//—–三种颜色按你所需搞个渐变的规则
this.jb.setBackground(new Color(red, green, blue));
this.jb.setVisible(true);
}
public static void main(String[] _s) {
TestA a = new TestA();
}
}
给你需要变色的元件挂个定时器。
原创文章,作者:WTU6B,如若转载,请注明出处:https://www.506064.com/n/129484.html