Йоксель » Главный форум

Ошибка или баг в Йоксель

(10 posts)
  1. В своем OLE объекте bmp_1c.ocx выводиться картинка в графическом режиме SRCAND.
    Это позволяет накладывать картику и основной текст в прозрачном режиме.

    Йоксель всегда отображает как SRCCOPY
    Это можно считать либо ошибкой либо фичей т.к. встречается очень редко.
    Можно ли сделать (например устанавливаем значение режима вывода каритнок для всего mxl )
    чтобы при выводе ole оъектов устанавливался граф. режим SRCAND.

    Отправлено 16 года(лет) назад #
  2. Тут, наверное, в другом дело. OLE-объекты приходится выводить не в основное изображение листа, а в специально созданный BITMAP. Потом этот битмап копируется на конечное место. Это из-за того, что многие OLE-объекты кривые и рисуют часто не только в той области, которая им отведена, а где им зачешется. Это к barcode, например, относится. В некоторых случаях это чудо инженерной мысли может выводить текст по координатам 0, 0 (или около того). Ну и проблема прозрачности, думаю, возникает из-за того, что временный битмап просто белый и не содержит изображения листа. Решить, получается, можно просто подготовкой битмапа - чтобы не белый был :)

    Отправлено 16 года(лет) назад #
  3. Ole объект написан мной.
    Отрисовка идет в графический контекст ole объекта.
    Объет правильно рабатает как в 1с так и
    в MS Exsel ( правда в последний версиях не проверял ).
    только что проверил в OpenOfiсе не справляется с этой задачей?

    Может мне сюда выложить пример так будет гораздо понятней ?

    Отправлено 16 года(лет) назад #
  4. Ну, можно и пример, хотя, ИМХО, в моем предыдущем посте проблема описана достаточно ясно. А именно, OLE-объекты теряют прозрачность, т.к. в Йокселе они отрисовываются через промежуточный пустой битмап.

    Отправлено 16 года(лет) назад #
  5. "Йокселе они отрисовываются через промежуточный пустой битмап."
    Так и предлагается при отрисовке bitmap выставить в уоксел графич режим SRCAND

    Тест объекта
    1.распоковать объект иьз_1с
    2. зарегистрировать.
    Войти в любую 1с
    3. Вызвать внешний отчет bitmap_1c.ert
    4. В качестве файла выбрать 111.bmp
    5. Нажать кнопку нарисовать
    6. В отрывшейте Таблице подвигать объект bmp_1c

    Attachments

    1. bmp_1c.rar (27.4 KB, 170 downloads) 16 года(лет) old
    Отправлено 16 года(лет) назад #
  6. 111.bmp не дает так отправить положил его в rar архив.

    Attachments

    1. 111.rar (0.5 KB, 124 downloads) 16 года(лет) old
    Отправлено 16 года(лет) назад #
  7. Насколько я понимаю, SRCAND отнюдь не дает прозрачность. В некоторых случаях, конечно, будет эффект прозрачности (для белого фона листа, например), но в общем случае будет не прозрачность, а нечто другое :)

    Отправлено 16 года(лет) назад #
  8. SRCAND Combines the colors of the source and destination rectangles by using the Boolean
    AND operator.

    Для моих задач этот режим будет давать правильный результат так как
    используется белый фон и на нем синии печать и подпись.

    Просьба заключается добавить в Йоксель-com метод переключающий графический решим отрисо
    вки картинок ole объектов. Для тех кто не применит этот метод ничего не измениться,
    а мои mxl будут правильно отображаться в Йоксель.

    Отправлено 16 года(лет) назад #
  9. Будет решено в следующем хотфиксе. Только немного в более общем виде - добавлена прозрачность для OLE-объектов. Единственно, твой компонент рисует иногда вне пределов выделенного для отрисовки прямоугольника - в Йокселе изображение будет обрезаться четко по границам прямоугольника. Скриншот разницы прилагаю.

    Вообще, надо поковырять доки по OLE - может, вылезание объекта за его пределы допустимо, а я зря его в рамки загоняю. С другой стороны, если разрешить OLE-объектам рисовать на конечном контексте, то иногда очень занятные косяки наблюдаются - особенно при предпросмотре.

    Attachments

    1. Result.png (13.2 KB, 1,140 downloads) 16 года(лет) old
    Отправлено 16 года(лет) назад #
  10. "Будет решено в следующем хотфиксе."
    Спасибо это являлось последним препятствием перед использованием.
    буду ждать.

    "Единственно, твой компонент рисует иногда вне пределов выделенного для отрисовки
    прямоугольника - в Йокселе изображение будет обрезаться четко по границам прямоугольника."
    Ну это не столько принципиально у меня все обрезается по границе ole объекта.

    "Вообще, надо поковырять доки по OLE - может, вылезание объекта за его пределы допустимо,
    а я зря его в рамки загоняю.
    С другой стороны, если разрешить OLE-объектам рисовать на конечном контексте,
    то иногда очень занятные косяки наблюдаются - особенно при предпросмотре."
    Ну тут наверное уже зависит от реализации как ole объекта так и от реализации контейнера.
    Вроде при отрисовке из объекта вне его границ багов замечено не было как в 1с так и в exsel.

    Отправлено 16 года(лет) назад #

RSS экспорт этой темы

Отправить сообщение

Вы должны войти в систему, чтобы оставлять сообщения.