Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Ответ
 
Опции темы
Старый 23.04.2012, 15:53   #1
 Разведчик
Аватар для L1nc0ln
 
L1nc0ln на правильном путиL1nc0ln на правильном пути
Регистрация: 04.03.2012
Сообщений: 12
Популярность: 177
Сказал(а) спасибо: 11
Поблагодарили 13 раз(а) в 12 сообщениях
 
По умолчанию Примитивная рисовалка

В данной теме я расскажу Вам как сделать примитивненькую рисовалку в PHP DS
*Проект программы лежит в папке demos

На понядобятся:
1.Выпадающий список - 1шт.
2.Кнопка - 1шт.
3.Функция - 2шт.
4.Диалог цвета - 1шт.


Приступим.
Жмём мышкой на нашу Форму, добавляем 3 события: Движение мышки, Нажатие мышки, Отжатие мышки.(Ставим галочку авто скроллинг)
Для Движения вставляем код:
Код:
global $toDraw;

// если зажали кнопку мыши, то  $toDraw = true
if ($toDraw)
   drawLine($x, $y); // и начинаем рисовать линию, с помощью функции
Для Нажатия:
Код:
global $toDraw;
$toDraw = true; // мышка нажата
Для отжатия:
Код:
global $toDraw, $lastX, $lastY;

// мыщка отжата, к тому же обнуляем последние координаты
$toDraw = $lastX = $lastY = false;
Создаём Выпадающий список, в Свойствах берём список, нажимаем "..." и вставляем в столбик цифры от 1 до 7(он нужен нам для выбора толщины кисти).

Создаём Кнопку, добавляем событие Клик и вставляем код:
Код:
global $pixelColor; // глобальная переменная хранящая цвет кисти

// открываем диалог
$x = c('Form1->colorDlg')->execute();

// если в диалоге выбрали цвет, то задаем цвет кисти...
if ($x)
  $pixelColor = c('Form1->colorDlg')->color;
Создаём 2 функции, первую называем "loadApp", вторую "drawLine". Для второй ставим параметры "$x,$y"(в столбик). Для первой ставим галочку на "Вызвать при старте". Для "loadApp" добавляем событие выполнение и вставляем код:
Код:
// инициализация необходимых переменных
global $pixelColor;
$pixelColor = clBlack;
Для "drawLine" добавляем событие выполнение и вставляем код:
Код:
// достаем глобальные переменные
global $lastX, $lastY, $pixelColor;

if ($lastX && $lastY){
   // создаем объект класса TControlCanvas для рисования на
   // компоненте...
   $cv = new TControlCanvas(c('form1'));
   
   // цвет нашей кисти...
   $cv->pen->color = $pixelColor;
   
   // размер нашей кисти берем из компонента список...
   $cv->pen->width = c('penSize')->items->selected;
   
   // перемещаем точку в предыдущие координаты
   $cv->moveTo($lastX, $lastY);
   
   // рисуем линию до новой точки...
   $cv->lineTo($x, $y);
   
   // избавляемся от объекта, чтобы не заполнять память
   $cv->free();
}

// сохряняем новые координаты точки...
$lastX = $x;
$lastY = $y;
Создаём Диалог цвета(название оставляем какое есть).

Вот и всё.


*после создания темы делал все как здесь написано - всё работает. Все вопросы в тему.


Не копипаст. Гайд лично мой!

Не жалей [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 25.04.2012, 08:13   #2
Заблокирован
 Разведчик
Аватар для gold22
 
gold22 неизвестен в этих краяхgold22 неизвестен в этих краяхgold22 неизвестен в этих краяхgold22 неизвестен в этих краяхgold22 неизвестен в этих краях
Регистрация: 18.04.2012
Сообщений: 37
Популярность: -407
Сказал(а) спасибо: 65
Поблагодарили 26 раз(а) в 18 сообщениях
 
По умолчанию Re: Примитивная рисовалка

Может хватит выкладывать эту фигню, если что можно сомому посмотреть, а так тока лишний спам..
  Ответить с цитированием
Старый 25.04.2012, 18:16   #3
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: Примитивная рисовалка

gold22, обоснуйте, пожалуйста, вашу жалобу.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Файл] Рисовалка анимаций в видео и флеш 1 klass Наше творчество 0 26.01.2012 23:11
[Скрипт] [autoIT] автовыстрел + рисовалка прицела [2] warl0ck Разработка ПО для Point Blank 49 05.01.2012 13:57
на дедике прога рисовалка -wow- Общение и обсуждение 2 28.06.2011 18:32

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 12:54.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net