![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скинообразная форма непрямоугольногоя [D7, WinXP]
Dmitry_04 © (2005-02-02 15:24:00)Я делаю программу со скинообразной и непрямоугольной формой... Форма у меня прорисовывается по картинке вот как:
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). Что в таком случае делать?
nnm (2005-02-03 13:25:00) [1]Почему? :)
Kerk (2005-02-03 04:04:00) [2]Dmitry_04 (02.02.05 15:24)
Скинообразная форма непрямоугольногоя
Ну прям цитата из энциклопедии по ботанике :)
Dmitry_04 (2005-02-03 02:11:00) [3]Почему никто не пишет? :((( Помогите пожалуйста! я заметил вот что еще: условие
if Image1.Canvas.Pixels[x-1, y-1] = clSilver then
определяет все остальные точки черным цветом после реального размера фотографии в Imag-е... несмотря на то что оно расстянуто... Пробовал на Form1.Canvas но это не работает в событии OnCreate и OnShow. Сработало когда я чисто для интереса кинул на форму кнопку и при нажатии на нее... Но увы мне нужно при запуске программы это...:( Есть ли какойнибудь еще способ определения цвета определенной точки в расстянутом Image?
Dmitry_04 (2005-02-02 20:49:00) [4]Я вроде как сначала понял в чем дело, Image1.Picture.Bitmap.Canvas.Pixels[x-1, y-1] поменял на Image1.Canvas.Pixels[x-1, y-1] и всеравно не работает...:(
Dmitry_04 (2005-02-02 17:53:00) [5]Еще один небольшой вопросик по теме... Как обратно вернуть форму в прямоугольный вид?
Dmitry_04 (2005-02-02 17:09:00) [6]Неужели никто не знает как это сделать?