Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Виртуальный TCanvas и его фоновый цвет... [D7, 2000]


Ice ©   (2006-02-15 16:50:00) 

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;


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

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

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

:)

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


MBo   (2006-02-15 19:01:00) [2]

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


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

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

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

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

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


MBo   (2006-02-15 17:14:00) [4]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо