Вниз
Скачать: CL | DM;

Скинообразная форма непрямоугольногоя   Найти похожие ветки 

← →
Dmitry_04   (2005-02-02 15:24) [0]

Я делаю программу со скинообразной и непрямоугольной формой... Форма у меня прорисовывается по картинке вот как:

var
regn, tmpRegn: integer;
x, y: integer;
begin
regn := CreateRectRgn(0, 0, Form1.ClientWidth, Form1.ClientHeight);
for x := 1 to Image1.Width do
for y := 1 to Image1.Height do
if Image1.Picture.Bitmap.Canvas.Pixels[x-1, y-1] = clSilver then
 begin
 tmpRegn := CreateRectRgn(Image1.Left+x-1, Image1.Top+y-1, Image1.Left+x, Image1.Top+y);
 CombineRgn(regn, regn, tmpRegn, RGN_DIFF);
 DeleteObject(tmpRegn);
 end;
SetWindowRgn(Form1.handle, regn, true);

т.е. вырезает цвет clSilver(серый). А вопрос заключается в следующем: не вызерается форма по цвету почему-то если изображение расстынуто (Stretch=true). Что в таком случае делать?


← →
Dmitry_04   (2005-02-02 17:09) [1]

Неужели никто не знает как это сделать?


← →
Dmitry_04   (2005-02-02 17:53) [2]

Еще один небольшой вопросик по теме... Как обратно вернуть форму в прямоугольный вид?


← →
Dmitry_04   (2005-02-02 20:49) [3]

Я вроде как сначала понял в чем дело, Image1.Picture.Bitmap.Canvas.Pixels[x-1, y-1] поменял на Image1.Canvas.Pixels[x-1, y-1] и всеравно не работает...:(


← →
Dmitry_04   (2005-02-03 02:11) [4]

Почему никто не пишет? :((( Помогите пожалуйста! я заметил вот что еще: условие

if Image1.Canvas.Pixels[x-1, y-1] = clSilver then

определяет все остальные точки черным цветом после реального размера фотографии в Imag-е... несмотря на то что оно расстянуто... Пробовал на Form1.Canvas но это не работает в событии OnCreate и OnShow. Сработало когда я чисто для интереса кинул на форму кнопку и при нажатии на нее... Но увы мне нужно при запуске программы это...:( Есть ли какойнибудь еще способ определения цвета определенной точки в расстянутом Image?


← →
Kerk ©   (2005-02-03 04:04) [5]

Dmitry_04   (02.02.05 15:24)
Скинообразная форма непрямоугольногоя


Ну прям цитата из энциклопедии по ботанике :)


← →
nnm   (2005-02-03 13:25) [6]

Почему? :)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
3-1106311445
Бульбаш
2005-01-21 15:44
2005.02.20
При использованиии кэширования очищается ли кэш


3-1105803796
Fedor
2005-01-15 18:43
2005.02.20
Размер файла *.gdb


14-1106919660
Околокомпьютерный
2005-01-28 16:41
2005.02.20
Про музычку


1-1107390335
RamZeS
2005-02-03 03:25
2005.02.20
Как возвратить TStrings из dll?


3-1106226601
sten
2005-01-20 16:10
2005.02.20
выделение цветом строки в DBGrid




   Наверх