本文目錄一覽:
- 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/zh-hk/n/129484.html