Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Вниз

Градиент кругленький   Найти похожие ветки 

 
Сергей Бушин   (2003-01-25 22:01) [0]

Как мне сделать градиент, чтобы он изменялся от центра окружности к краям, ну или наоборот.


 
Игорь Шевченко   (2003-01-27 11:44) [1]

MSDN: GradientFill


 
REA   (2003-01-27 11:54) [2]

Кстати там баг в дельфовом описании записи. По крайней мере в D6 был.


 
Игорь Шевченко   (2003-01-27 12:02) [3]

REA © (27.01.03 11:54)

Кстати, да.
{
Модуль: HSGdi

Описание: Интерфейс к функциям MSIMG32

Автор: Игорь Шевченко

Дата создания: 18.10.2002

История изменений:
}
unit HSMsImg;

interface
uses
Windows;

type
THSTriVertex = packed record
x : LongInt;
y : LongInt;
Red : Word;
Green : Word;
Blue : Word;
Alpha : Word;
end;
PHSTriVertex = ^THSTriVertex;

function HSGradientFill(DC: HDC; Vertex: PHSTriVertex; NumVertex: ULONG;
Mesh: Pointer; NumMesh, Mode: ULONG): BOOL; stdcall;
const
{ gradient drawing modes }
GRADIENT_FILL_RECT_H = $00000000;
GRADIENT_FILL_RECT_V = $00000001;
GRADIENT_FILL_TRIANGLE = $00000002;
GRADIENT_FILL_OP_FLAG = $000000ff;

implementation

type
THSGradientFill = function (DC: HDC; Vertex: PHSTriVertex; NumVertex: ULONG;
Mesh: Pointer; NumMesh, Mode: ULONG): BOOL; stdcall;
var
_HSGradientFill : THSGradientFill;
DllHandle: THandle;

const
Dllname = "msimg32.dll";

function InitLib : Boolean;
begin
if DllHandle = 0 then begin
DllHandle := LoadLibrary(Dllname);
if DllHandle <> 0 then begin
@_HSGradientFill := GetProcAddress(DllHandle, "GradientFill");
end;
end;
Result := (DllHandle <> 0);
end;

function HSGradientFill(DC: HDC; Vertex: PHSTriVertex; NumVertex: ULONG;
Mesh: Pointer; NumMesh, Mode: ULONG): BOOL; stdcall;
begin
if InitLib AND Assigned(_HSGradientFill) then
Result := _HSGradientFill(DC, Vertex, NumVertex, Mesh, NumMesh, Mode)
else begin
Result := false;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
end;
end;

initialization
finalization
if DllHandle <> 0 then
FreeLibrary(DllHandle);
end.


 
MBo   (2003-01-27 14:09) [4]

Вариант без реимпорта функции



type
TTRIVERTEXNew = packed record
X,Y:Integer;
R,G,B,Alpha: Word;
end;

var v:array [0..1] of TTriVertexNew;

Gradientfill(image1.canvas.handle,PTriVertex(@v)^, 2,@m, 1,Gradient_Fill_Rect_H);



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
4-15987
Delchiv
2002-12-13 22:02
2003.02.06
Клик в неактивном окне


6-15791
Brat-2
2002-12-14 17:29
2003.02.06
ActiveX для Web на Delphi


1-15617
Lexer
2003-01-29 11:16
2003.02.06
Перевод Dos-кодировки в Win


3-15430
MAD-Sudarchikov
2003-01-18 18:03
2003.02.06
(Красноярск) Консультации по созданию БД


14-15880
VID
2003-01-19 22:14
2003.02.06
Как правильно подключать устройства к IDE-шлейфу ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский