Главная страница
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.47 MB
Время: 0.048 c
1-1107929867
Алекс
2005-02-09 09:17
2005.02.20
Проверка готовности дисковода


1-1107432911
Павел
2005-02-03 15:15
2005.02.20
Компоненты для работы с регулярными выражениями


1-1107429652
ТехникПТО
2005-02-03 14:20
2005.02.20
Вырезание из строки


4-1105004843
Molchanov
2005-01-06 12:47
2005.02.20
Имя модуля, загрузившего DLL


9-1073144322
DDS
2004-01-03 18:38
2005.02.20
Где хранить ресурсы?