建立乙個背景色漸變的WINFORM

2021-06-05 05:15:02 字數 1801 閱讀 2276

你是否厭倦了灰灰的winform呢,今天介紹乙個為winform填充漸變顏色的方法。參考了以下兩篇文章

新的winform要繼承form,然後重寫onpaintbackground()方法

using system.drawing;

using system.windows.forms;

namespace gradienttransparenttest

// paints the background of the form with a gradientfill pattern.

protected override void onpaintbackground(painteventargs e)}}

onpaintbackground中所用到的gradientfill.fill是msdn中提供的方法。

public sealed class gradientfill

; // get the hdc from the graphics object.

intptr hdc = gr.gethdc();

// pinvoke to gradientfill.

bool b;

b = win32helper.gradientfill(

hdc,

tva,

(uint)tva.length,

gra,

(uint)gra.length,

(uint)filldir);

system.diagnostics.debug.assert(b, string.format(

"gradientfill failed: ",

system.runtime.interopservices.marshal.getlastwin32error()));

// release the hdc from the graphics object.

gr.releasehdc(hdc);

return b;

}// the direction to the gradientfill will follow

public enum filldirection

}

接下來便是win32helper calss加入你的專案中

public sealed class win32helper

public trivertex(

int x, int y,

ushort red, ushort green, ushort blue,

ushort alpha)

}public struct gradient_rect

}[dllimport("msimg32dll.dll", setlasterror = true, entrypoint = "gradientfill")]

public extern static bool gradientfill(

intptr hdc,

trivertex pvertex,

uint dwnumvertex,

gradient_rect pmesh,

uint dwnummesh,

uint dwmode);

public const int gradient_fill_rect_h = 0x00000000;

public const int gradient_fill_rect_v = 0x00000001;

}

這樣乙個漂亮的窗體就出來了。

可以顯示漸變背景色的Lable

usingsystem using system.collections using system.ponentmodel using system.drawing using system.drawing.drawing2d using system.windows.forms namespace...

IOS 繪製背景色漸變的矩形

兩段 首先是使用方法 01cgcontextref context uigraphicsgetcurrentcontext 02nsarray colors nsarray arraywithobjects 03 uicolor colorwithred 225.0 255.0 green 225....

CSS3漸變背景色的一些運用

css3的背景background,運用時一般會選擇插入背景圖,以及運用背景色,在設定背景色時,有一種特殊的效果,就是顏色漸變 css3為背景提供了漸變支援,通過呼叫linear gradient實現 linear gradient 方向,顏色1,顏色2,顏色將會從顏色1漸變到顏色2,方向一般有如下...