Подскажите пожалуйста как выполнить предварительный просмотр (при открытии файла) чтоб было видно все листы и объекты из документа, как в стандартном диалоге открытия.
"pic1.jpg" - так надо
"pic2.jpg" - так выводит функция "ksDrawKompasDocument" - так не надо :)
исходник тут http://forum.ascon.ru/index.php/topic,5841.msg163713.html#msg163713 (http://forum.ascon.ru/index.php/topic,5841.msg163713.html#msg163713)
Всем привет.
Собственно, ап. Интересует тот же вопрос: как получить изображение второго листа в память?
Также, чтобы два раза не вставать, вопрос касательно вывода изображения самого чертежа на любой контрол в своей программе: можно ли как-то получать чертёж, кроме как с помощью api5 и ksDrawDocument?
Заранее спасибо за ответы.
Можно и по другому, но нужно знать, что Вы хотите сделать?
Хочу, условно говоря, получить картинку чертежа (каждого их листов) либо в экземпляр класса Bitmap; либо, например, вывести в PictureBox или на Panel. Короче говоря, получить Image. Причём желательно, чтобы была возможность вывода именно в виде чертежа (цвета линий и фона), а не самого окна Компаса, как это происходит в случае с ksDrawDocument.
Вариант с сохранением картинки в файл и последующим её открытием не подходит, хотя работает именно так, как нужно. Необходимо производить чтение непосредственно в память.
Ещё раз спасибо.
Зачем?
Компас, всё это реализует.
Что именно Компас реализует?
Повторюсь: есть программа (не библиотека, а совершенно отдельная - управляющая); на форме расположен условный Picturebox. Так вот в него мне нужно вывести, к примеру, изображение второго листа многолистового файла чертежа. Как мне это сделать?
Чтобы вывести должен стоять Компас. :)
Вы так шутите? Естественно, у меня установлен Компас и мои сообщения выше это подтверждают.
За этот ролик, получил по репе http://yadi.sk/d/kc0620_v7Gfgp
Так, ладно. Спасибо, мы с вами явно друг друга не поймём.
Прошу помощи у остальных участников форума. Вопросы всё те же.
Можно использовать ksDrawKompasGroup, но тут будет проблема с оформлением листа.
Может попробовать конвертнуть, к примеру, в png (см. ksRasterFormatParam::pages) и его давать на предпросмотр.
Спасибо, но выше я уже отметил, что такой вариант отлично работает, но не подходит.
Можете, более подробно описать, чем именно не подходит?
Есть ещё одна возможность использовать ActiveX компонент KGAX.
Еще один фокус :)
Суть в том, чтобы суметь из cdw получить frw.
Например: сохрани свой чертеж в dxf, затем открой его в КОМПАС - он сконвертится в frw.
frw отданный на вход ksDrawKompasDocument отобразится весь.
Проверил в Менеджере шаблонов, в нем используется ksDrawKompasDocument (рис.)
Вроде уважаемый Slaviation, дал неплохой вариант с ksRasterFormatParam, то, что хотели, как это работает http://forum.ascon.ru/index.php/topic,22913.msg158656.html#msg158656
Не подходит любой вариант работы с диском. Задача заключается в получении изображения чертежа непосредственно в память.
Почему, не подходит работа с диском?
ksDrawKompasGroup - не работает с диском.
Работа с диском отнимает время и ресурсы системы, к тому же запись может быть по тем или иным причинам недоступна. Так или иначе задача стоит именно так, если нет нормального решения, то придётся думать немного в другом направлении.
Отрисовка группы - не то, что мне нужно. Просто я думал, что, возможно, от моего взора где-то укрылась функция получения изображения чертежа или возможность использовать ksDrawDocument не только для первого листа. Нет, так нет.
Всем спасибо за помощь.
Есть места, куда запись всегда открыта, а по поводу ресурсов, многое зависит от железа.
Жесткий не SSD, иначе оценка была бы ещё выше.
Так или иначе, задача была именно в получении изображения в память. Какой смысл мне писать файл на диск (да ещё и проводить операции сжатия графики), когда можно то же самое сразу получить в какую-нибудь переменную? А если файлов сотни? Короче, лирика всё это.
Не хотите рассказывать о задаче, Ваше право, но не могу понять, что сжимать, если можно получить сразу в сжатом состоянии.
Также, если найдёте книгу, у меня она в печатном варианте, то в первом томе на странице 527 начало описания, работы с файлами отображенными в память.
Файлы действительно получаются уже в сжатом состоянии, только вот сжимает их сам компас (аналогично команде "Сохранить как...", например, в JPEG), причём неприличное время, в этом-то вся загвоздка.
За наводку спасибо, будем посмотреть.