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

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

Наверх




Память: 0.47 MB
Время: 0.051 c
2-1139922266
GoshaT
2006-02-14 16:04
2006.03.05
Скрытие программы в tray


1-1138624394
passer
2006-01-30 15:33
2006.03.05
Есть ли в моей программе несколько одновременных потоков?


15-1139774347
ArtemESC
2006-02-12 22:59
2006.03.05
NTFS


2-1140377663
Vit___
2006-02-19 22:34
2006.03.05
работа с edit


4-1134564762
MU
2005-12-14 15:52
2006.03.05
Служба