Главная страница
    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.011 c
3-15521
pave1
2003-01-19 20:47
2003.02.06
Создание индекса для dBase


1-15585
laza
2003-01-28 23:04
2003.02.06
Помогите с кодом


14-15834
Новый на этоим форуме
2003-01-22 17:03
2003.02.06
Прелести php


1-15679
Альф
2003-01-27 11:45
2003.02.06
О try..finally и создании объектов :)


1-15673
Tsr
2003-01-20 21:07
2003.02.06
: Unsafe type TBookmark





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский