Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: 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 вся ветка

Текущий архив: 2005.02.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
4-1104145987
tradakad
2004-12-27 14:13
2005.02.20
как назначить иконку для итема PopupMenu при его создании


1-1107091565
GrayZeeCat
2005-01-30 16:26
2005.02.20
Как научить консоль говорить по русски в XP?


1-1107120746
Homa_Programer
2005-01-31 00:32
2005.02.20
как правильно создать в run-time TabSheet и на нем RichEdit?


11-1091002852
M5
2004-07-28 12:20
2005.02.20
Как в МСК/КОЛ узнать, что нажата нужная клавиша и отреагировать?


1-1107312143
Alex_Petr
2005-02-02 05:42
2005.02.20
SearchPath по разному работает в зависимости от способа старта.