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

Виртуальный TCanvas и его фоновый цвет...   Найти похожие ветки 

 
Ice   (2006-02-15 16:50) [0]

procedure TForm1.Button1Click(Sender: TObject);
var VRT : TCanvas;
   RCT : TRect;
begin

 // Создаю прямоугольник
 RCT := Rect(0, 0, 100, 10);

 //Создаю виртуальную канву
 VRT := TCanvas.Create;
 VRT.Handle := CreateCompatibleDC(0);

 //устанавливаю фоновый цвет
 VRT.Brush.Color := clGray;

 //Заполняю прямоугольник этим самым фоновым цветом
 VRT.FillRect(RCT);

 //Теперь пытаюсь получить цвет из точки внутри этого прямоугольника
 //И получаю clBlack, хотя устанавливал VRT.Brush.Color := clGray
 //Что я не так делаю ???????????????????????????????????????
 self.Color := VRT.Pixels[1,1];

 if VRT.Handle <> 0 then DeleteDC(VRT.Handle);
 FreeAndNil(VRT);
end;


 
MBo ©   (2006-02-15 17:14) [1]

После создания compatibleDC в нем полагается выбрать битмап selectObject


 
Ice   (2006-02-15 17:28) [2]

Попробовал так...

SelectObject(VRT.Handle, CreateCompatibleBitmap(VRT.Handle, 100, 10));

Получаемый цвет вместо черного стал белым, но в серый никак не хочет превращаться... :)

Можно экзампл одной строкой ? Плиз... :)


 
MBo ©   (2006-02-15 19:01) [3]

Я смысла в этом действе особо не пойму...


 
Ice   (2006-02-15 19:56) [4]

В чем именно ? В виртуальной канве ?
Нужна для преобразования - на рабочей канве есть текст, и когда я хочу этот текст расположить вертикально - получается нехорошо... При попиксельном повороте регионы перекрываются (SetWorldTransform не проходит, он целиком канву крутит... А мне надо только прямоугольник с текстом)... Понадобился некий буфер.

Да и заело, в плане победить...  Знания пополнить...

:)

Если CreateCompatibleBitmap - то это, тескать, проба пера по прочтению документации про SelectObject...



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

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



Память: 0.46 MB
Время: 0.024 c
4-1134515286
Vitan
2005-12-14 02:08
2006.03.05
Запрет запуска дочерных процессов.


3-1136959522
syte_ser78
2006-01-11 09:05
2006.03.05
Колво вхождений значений


15-1139490290
syte_ser78
2006-02-09 16:04
2006.03.05
как говорят в России?


2-1140218222
AnyCase
2006-02-18 02:17
2006.03.05
Имеет ли смысл минимизировать число модулей в uses ?


1-1138637444
lsp
2006-01-30 19:10
2006.03.05
отображение даты, в ZeosDBO 6.5.0 под Делфи для PostgresSQL




   Наверх