Главная страница
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.023 c
15-1190029252
Pdkle
2007-09-17 15:40
2007.10.14
Объясните, пожалуйста, устное решение задачи


2-1190331893
NickEr
2007-09-21 03:44
2007.10.14
Проверка числа на симметричность


2-1189680614
CheckIT
2007-09-13 14:50
2007.10.14
Уменьшение разрешения картинки


15-1189680539
Synset
2007-09-13 14:48
2007.10.14
СГУ и ДПС


15-1189893812
Kerk
2007-09-16 02:03
2007.10.14
Котлеты