Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.14;
Скачать: CL | DM;

Вниз

Заштриховать область   Найти похожие ветки 

 
Евгений Р.   (2007-09-18 19:43) [0]

Существует ли процедура заштриховки области у tCanvas?


 
Denis_ ©   (2007-09-18 19:49) [1]

Ручками, ручками...


 
Инс ©   (2007-09-18 20:03) [2]

FillRgn


 
Инс ©   (2007-09-18 20:16) [3]

А еще FillPath и StrokeAndFillPath


 
Евгений Р.   (2007-09-18 20:18) [4]


> Ручками, ручками...

Этот способ мне известен


> FillRgn

Спасибо, попробую разобраться


 
Юрий Зотов ©   (2007-09-19 00:57) [5]

Brush.Style?


 
Германн ©   (2007-09-19 02:49) [6]


> Инс © (18.09.07 20:03) [2]

Имхо, стоило бы уточнить, что к компоненту TCanvas сия процедура не относится. Как и две последующие.
Вопрос-то в "Начинающие".


 
Германн ©   (2007-09-19 02:59) [7]

Пардон. И меня "старость лет" и "столь поздний час" подвели :)

> к компоненту TCanvas

нужно было написАть к классу TCanvas :(


 
Ega23 ©   (2007-09-19 09:18) [8]

TBrushStyle type  + F1

var
bs : TBrushStyle;
begin
 with Canvas do
  begin
    bs := Brush.Style;
    Brush.Style :=  bsDiagCross;
    FillRect(10,10,100,100);
    Brush.Style := bs;
  end;
end;


Как-то так... Писал прямо здесь, не проверял.


 
Инс ©   (2007-09-19 10:29) [9]


> Германн ©   (19.09.07 02:49) [6]

Почему же... У TCanvas хэндл есть, вроде как, какие проблемы. Ну и что что нет метода соответствующего. А вот уточнить что за область имеет в виду автор действительно стоило бы.


 
Евгений Р.   (2007-09-19 23:54) [10]


> Германн ©   (19.09.07 02:59) [7]


Не знаю, что к чему относится, но работает.
Спасибо Инс, познал регион, т.к. область не прямоугольная.

Использую FillRgn, аналогично FillRect(10,10,100,100).


Можно ли как-то поменять шаг (расстояние м-ду линиями) при заливке.
По возможности, не используя Canvas.Brush.Bitmap.


 
Инс ©   (2007-09-19 23:57) [11]


> Можно ли как-то поменять шаг (расстояние м-ду линиями) при
> заливке.
> По возможности, не используя Canvas.Brush.Bitmap.

Либо использовать GDI+, либо все-таки Canvas.Brush.Bitmap :) Ограничение размера, о котором говорится в справке, по-моему только на Win9x


 
Евгений Р.   (2007-09-20 00:20) [12]

Если использовать Canvas.Brush.Bitmap., то Canvas.Brush.Style игнорируется?


 
Инс ©   (2007-09-20 00:23) [13]


> [12] Евгений Р.   (20.09.07 00:20)

Да.


 
Германн ©   (2007-09-20 00:27) [14]


> Евгений Р.   (19.09.07 23:54) [10]
>
>
> > Германн ©   (19.09.07 02:59) [7]
>
>
> Не знаю, что к чему относится, но работает.
>

Да я и не сомневался. Совет то был по сути своей верный.


 
Однокамушкин   (2007-09-20 09:30) [15]


> Евгений Р.   (19.09.07 23:54) [10]
> Можно ли как-то поменять шаг (расстояние м-ду линиями) при
> заливке.
> По возможности, не используя Canvas.Brush.Bitmap.


Можно с помощью SelectClipRgn выбрать решион отсечения, а потом ручками нарисовать в прямоугольной или ещё какой области, целиком содержащей этот регион, линии с нужным шагом, наклоном, толщиной и стилем... Все части этих линий, которые не попадут в регион отсечения, не будут нарисованы, и в итоге вы получите свою фигуру, заштрихованную так, как вам нужно... Можно даже не линиями, а, например, разноцветными шариками или ещё как... Метод относительно трудоёмкий, но очень гибкий...



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

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

Наверх




Память: 0.5 MB
Время: 0.028 c
2-1190096815
Kolan
2007-09-18 10:26
2007.10.14
Почему присвоение ListView.ItemIndex не отображается?


2-1189841616
Сема_
2007-09-15 11:33
2007.10.14
ListView


15-1190031053
boa_kaa
2007-09-17 16:10
2007.10.14
И это задача для детсткого сада!


15-1189862185
Wfee
2007-09-15 17:16
2007.10.14
Как вычислить длину N!


2-1190280036
Kolan
2007-09-20 13:20
2007.10.14
Как поймат событие после изменения Text у DBLookUpComboBox?