|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.09.2009, 17:01 | #1 |
Пользователь
Регистрация: 26.09.2009
Сообщений: 15
|
Как рисовать API-функциями из VBA?
Стоит задача: средствами VBA создать растровое изображение (на основе заданных данных) и вставить его в документ.
В VB можно нарисовать с помощью GDI API-функций, указывая дискриптор (hDC) Form или PictureBox. А потом просто скопировать в Clipboard Form.Image или PictureBox.Image. Но VBA не поддерживает PictureBox, а у UserForm нет свойств hDC и Image Что можно придумать? На чем рисовать? |
26.09.2009, 19:21 | #2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Вбиваем в поиск по разделу Microsoft Office Excel слово hDC, и сразу обнаруживаем то, что искали: http://www.programmersforum.ru/showp...63&postcount=2 Вот пример рисования на форме: |
|
26.09.2009, 19:47 | #3 |
Пользователь
Регистрация: 26.09.2009
Сообщений: 15
|
Мне нужны не функции рисования, а способ получения hDC и способ копирования.
Там еще ссылки есть 1-я не работает 2-я отсылает на сайт, где нужна регистрация 3-я про работу с фреймом Вы бы еще в гуугл отослали... |
26.09.2009, 19:53 | #4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
В прикреплённом к предыдущему сообщению файле есть пример получения hDC формы: Код:
Ну а если Вас не устраивают приведённые примеры - идите Вы в Google
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 26.09.2009 в 19:56. |
|
26.09.2009, 20:47 | #5 |
Пользователь
Регистрация: 26.09.2009
Сообщений: 15
|
Спасибо!
Буду разбираться. Но, вообще-то я планировал без формы, а с созданием растра в памяти |
26.09.2009, 21:32 | #6 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Есть ли ограничения по применяемым средствам? Я, к примеру, использую CorelDRAW для формирования графических файлов (можно работать с CorelDRAW непосредственно - в него встроен VBA, можно из любого другого приложения, подключив библиотеку CorelDRAW) Вот пример кода VBA для CorelDRAW, который создаёт несколько папок, в каждой из которых формируются растровые изображения отдельных букв: Код:
|
|
26.09.2009, 22:34 | #7 |
Пользователь
Регистрация: 26.09.2009
Сообщений: 15
|
Будете смеяться, но мне наоборот, в CorelDraw вставить надо.
Растр не рисуется в обычном понимании, а строится на основании определенных данных данных. Вроде карты по x,y,z, где z отображается цветом. Детализация довольно высокая и рисовать непосредственно в CorelDraw не реально – сотни тысяч прямоугольноков разного цвета. А можно я потом задам вам вопрос про программный вывод текста в CorelDraw? Макрорекордер его не пишет, а я не профессионал. |
26.09.2009, 23:16 | #8 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
А почему бы Вам не использовать для этих целей Автокад совместно с RasterDesk Pro 7.5.Автокад позволяет такую детализацию,да и куча макросов есть для ускорения построений
Анализ,обработка данных Недорого
|
26.09.2009, 23:22 | #9 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Цитата:
В Вашем случае можно использовать VBA в приложении Corel PHOTO-PAINT - формировать изображение попиксельно (или рисовать его из прямоугольников) Будут подробности по заданию (откуда брать данные, что надо получить в результате) - попробую помочь. |
||
27.09.2009, 10:47 | #10 |
Пользователь
Регистрация: 26.09.2009
Сообщений: 15
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как рисовать на Canvas объектов | Jean-Esther | Общие вопросы Delphi | 2 | 02.03.2009 02:57 |
Не понимаю как работать с функциями. | Миша | Помощь студентам | 4 | 26.12.2008 12:20 |