Регулируемая прозрачность кисти для рисования

Тема в разделе "Delphi - Multimedia, Графика, Игры", создана пользователем N0iD, 3 окт 2009.

  1. N0iD

    N0iD Гость

    Доброго времени суток. Столкнулся с такой вот проблемой.
    Рисую на канве вот таким вот способом:

    <!--shcode--><pre><code class='Delphi- пишу в версии 7'> public
    { Public declarations }

    //Процесс рисования.
    drawing:boolean;
    ...
    ...
    ...

    procedure TMainformvg.ImageGraffitiMouseDown(Sender: TObject;
    Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
    //Установки кисти.
    with ImageGraffiti.canvas do
    begin
    pen.width:=ShapeColor.Height;
    drawing:=true;
    moveto(x,y);
    end;
    //При нажатие не двигая рисуем.
    If drawing then ImageGraffiti.canvas.lineto(x,y);
    end;

    procedure TMainformvg.ImageGraffitiMouseMove(Sender: TObject;
    Shift: TShiftState; X, Y: Integer);
    begin
    //Собственно рисуем :D
    If drawing then ImageGraffiti.canvas.lineto(x,y);
    end;

    procedure TMainformvg.ImageGraffitiMouseUp(Sender: TObject;
    Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
    //Прекращаем рисовать.
    Drawing:=false;
    end;[/CODE]

    Рисую как понятно из кода на канве TImage. Рисует великолепно, но хотелось бы узнать как можно реализовать прозрачность и размытие кисти(Твёрдость), так как это реализованно в фотошопе.

    Даже представления не имею как это можно сделать. Думал может как то использовать PNG формат, ноувы нехватает тяму. Помогите :rolleyes:
     
  2. N0iD

    N0iD Гость

    Совсем случайным образом нашёл вот этот вот сайт http://www.efg2.com
    Ну так вот там есть пример размытости\жесткости. http://www.efg2.com/Lab/ImageProcessing/Feathering.htm
    Там-же нашёл про смешивание цвета. http://www.efg2.com/Lab/Graphics/Colors/ColorMix.htm

    P.S. Для тех кому понадобиться.
    Посидев день, так и не разобрался как же привязать все эти свойства. Вы уж меня простите я новенький, помогите :D
    Выкладываю то что уже написал. http://slil.ru/28041860 ~ 80kb
    Для новичков будет интересно.
     
  3. as-is

    as-is Гость

    Спасибо за примеры.
    А вот можно не совсем по теме - вообще про рисовалки. Насколько здесь Delphi выигрывает по сравнению, например, с C++?
     
  4. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Нисколько. Все решают руки.
     
  5. Xakep

    Xakep Гость

    а не проще использовать PNGImage нарисовал кисть в фотошопе, сохранил в формате png и рисуй себе на здоровье :)
     
  6. as-is

    as-is Гость

    Так в фотошопе есть и прозрачность, и нажим, причем это разные вещи. Особенно в инструменте "штамп".
     
  7. EdgarWine

    EdgarWine Гость

    Сам TImage не может рисоваться на форме с полупрозрачностью - недостаток VCL...
    Не юзал ФотоШоп, не знаю как там что... Опишите попроще как это "размытие/твёрдость"? Линии с антиалиасингом чтоль?

    А языки программирования такие как Delphi, C++, VisualBasic - абсолютно никаких преимуществ друг перед другом не имеют... По существу - просто кому что привычнее...
    Правильно сказали - всё решает прямота рук... Ну и Знания... ;)
     
  8. N0iD

    N0iD Гость

    В продолжение темы, так как для меня она так толком и не понятна, я нашел компонет для работы с планшетом из под дельфи.
    Delphi Tablet Component 1.3
    http://depositfiles.com/files/9ovhhqpiu

    Я думаю многие обрадуются этому дабы не лазить в доках по работе с драйверами планшетов. Собственно данный компонент был опробован с Wacom и Genius планшетами. В состав идет две демки, Одна показывает силу нажатия,а вторая показывает как рисовать.
    При компилинге второй демки, там где нужно рисовать, вылазиет на строке "Open(AContext, True);" ошибка: "[Error] MappingUnit.pas(118): Too many actual parameters".

    Прошу помощи, как это исправить. И было бы хорошо если бы выложили рабочий вариант второго примера, а именно из папки "Mapping".

    было:
    Код:
    Open(AContext, true);

    стало:
    Код:
    Open(AContext);
    Программа из примера запускается, но реакции ноль на планшет. Проверял на Wacom и Genius/
     
  9. N0iD

    N0iD Гость

    EdgarWine
    >Опишите попроще как это "размытие/твёрдость"
    [​IMG]
     
Загрузка...
Похожие Темы - Регулируемая прозрачность кисти
  1. Wolfises
    Ответов:
    0
    Просмотров:
    2.317
  2. pbnoob
    Ответов:
    8
    Просмотров:
    3.298
  3. shisik
    Ответов:
    1
    Просмотров:
    2.645

Поделиться этой страницей