
| Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
![]() |
||
Работа с регионами в Delphi 7
|
||
| Философия, технологии, алгоритмы! |
![]() |
|
|
Опции темы |
|
|
#1 |
|
Форумец
Сообщений: 116
Регистрация: 23.10.2007
|
Работа с регионами в Delphi 7
Захотел в Делфи поприкалываться. Создать форму по рисунку. Загружаю в Image1 рисунок (черно-белый). И ставлю у обработчика кнопки вот такой код:
procedure TForm1.Button1Click(Sender: TObject); var x, y, hsWindowRegion, hsWindowRegion2: integer; begin hsWindowRegion2:=CreateRectRgn(0,0,0,0); for x := 1 to Image1.Picture.Height do for y := 1 to Image1.Picture.Width do if Image1.Canvas.Pixels[y,x] = clBlack then begin hsWindowRegion:=CreateRectRgn(y, x, y+1, x+1); CombineRgn(hsWindowRegion2, hsWindowRegion2, hsWindowRegion, RGN_OR); end; //if SetWindowRgn(Handle, hsWindowRegion2, true); end; Реально, не могу сообразить, почему не получается? Форма изменяет свой размер, но не совсем так! Например у меня рисунок 140*170 . О регионы нифига так не рисуют. Они где-то рисуют 140*130. Если даже x и y задать напрямую 1..170, то все равно рисует не полный рисунок! С чем это связанно? Как это можно исправить? |
|
|