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