Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Горячая тема (более 10 ответов) Старые релизы платформы 1С + прозрачные картинки в таблице (число прочтений - 13789 )
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Старые релизы платформы 1С + прозрачные картинки в таблице
07. Февраля 2011 :: 15:52
Печать  
Народ, у кого есть старые релизы 1С:Предприятия v7.7? Нужны ниже 7.07.009. Т.е. этот и выше у меня есть. А ниже нет.

Я замучался с вставкой картинок с прозрачным фоном. У меня есть таблица с такой картинкой. Её делали очень давно до меня. Причем картинка динамическая. Т.е. сама картинка меняется по условию в программном модуле. И прозрачность работает на ура. Но скопировать этот объект в другую табличную форму, или создать новый объект - не получается - прозрачность пропадает. Просто вставить картинку с прозрачным фоном - это пожалуйста. А вот менять динамически - уже не получается.  

Читал по разным форумам, что на ранних релизах, мол всё получалось, в частности вот здесь читал - http://forum.infostart.ru/forum24/topic32556/. Проверил до 9 релиза - не работает. Вот подумал, если у кого есть более ранние релизы - я бы проверил. Хотя тут возможно и от Офиса зависит. У меня сейчас 2003.

Думал сделать 2 mxl - один старый, где всё работает, и второй этот же файл, но с замененным объектом картинка в таблице - и сравнить их. Сделал, но не всё там понимаю.

Вот такие пироги.
« Последняя редакция: 08. Февраля 2011 :: 14:00 - alyuev »  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Старые релизы платформы 1С
Ответ #1 - 08. Февраля 2011 :: 10:38
Печать  
Я таки разобрался, как оно работало. Релизы 1С тут не при чем. И метод вставки картинки тоже не при чем.

Оказывается когда меняешь динамически картинку она перестает быть прозрачной. Но! Это и не важно! Я совершенно не придал внимания тому факту, что текст в моей таблице был не в ячейках, а в объекте "Рамка с текстом". Эти рамки были помещены на передний план. А фон у них прозрачный. Вот мне и казалось, что прозрачной была картинка.

Вот где собака порылась! Улыбка. Блин.... Столько времени потратил, релизы качал, офисы разные пробовал... А истина лежит на поверхности, на самом верху! Как говорится - лучшее место спрятать - это оставить на самом видном месте!
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Старые релизы платформы 1С
Ответ #2 - 08. Февраля 2011 :: 11:24
Печать  
Плохо, если картинка - это "печать", которая "перекрывает" кучу надписей и текста.
Тогда все "палки" и надписи загонять в объект типа текст - очень муторное занятие.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Старые релизы платформы 1С
Ответ #3 - 08. Февраля 2011 :: 12:04
Печать  
Eprst писал(а) 08. Февраля 2011 :: 11:24:
Плохо, если картинка - это "печать", которая "перекрывает" кучу надписей и текста.
Тогда все "палки" и надписи загонять в объект типа текст - очень муторное занятие.

для этого случая Activebmp печать(круглая и синия)  картинка с прозрач фоном и без всяких проблем.(именно для решения этой задачи и создавался Activebmp)

  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Старые релизы платформы 1С
Ответ #4 - 08. Февраля 2011 :: 12:12
Печать  
Картинка - это таки да - круглая печать. Но "рамки с текстом" всего 3 штуки. Так что не сильно много менять пришлось.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Старые релизы платформы 1С
Ответ #5 - 08. Февраля 2011 :: 12:21
Печать  
Z1 писал(а) 08. Февраля 2011 :: 12:04:
Eprst писал(а) 08. Февраля 2011 :: 11:24:
Плохо, если картинка - это "печать", которая "перекрывает" кучу надписей и текста.
Тогда все "палки" и надписи загонять в объект типа текст - очень муторное занятие.

для этого случая Activebmp печать(круглая и синия)  картинка с прозрач фоном и без всяких проблем.(именно для решения этой задачи и создавался Activebmp)




Activebmp  портит размер картинки при печати. Это пройденный этап.
Хотя в предварительном просмотре и в самом мокселе всё выглядит вполне пристойно.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Старые релизы платформы 1С
Ответ #6 - 08. Февраля 2011 :: 12:24
Печать  
Eprst писал(а) 08. Февраля 2011 :: 12:21:
Z1 писал(а) 08. Февраля 2011 :: 12:04:
Eprst писал(а) 08. Февраля 2011 :: 11:24:
Плохо, если картинка - это "печать", которая "перекрывает" кучу надписей и текста.
Тогда все "палки" и надписи загонять в объект типа текст - очень муторное занятие.

для этого случая Activebmp печать(круглая и синия)  картинка с прозрач фоном и без всяких проблем.(именно для решения этой задачи и создавался Activebmp)




Activebmp  портит размер картинки при печати. Это пройденный этап.
Хотя в предварительном просмотре и в самом мокселе всё выглядит вполне пристойно.

ничего он не портит
важно чтобы высота секции была больше высоты картинки ( т.е объект полностью лежал по высоте внутри секции )
ну и наверное обсуждать это именно в этой ветке off.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Старые релизы платформы 1С
Ответ #7 - 08. Февраля 2011 :: 12:24
Печать  
ЗЫ: причем что ActiveBmp , что  bmp_1C - размеры "уплывут" при печати.
А это неприемлемо.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Старые релизы платформы 1С
Ответ #8 - 08. Февраля 2011 :: 12:25
Печать  
Z1 писал(а) 08. Февраля 2011 :: 12:24:
Eprst писал(а) 08. Февраля 2011 :: 12:21:
Z1 писал(а) 08. Февраля 2011 :: 12:04:
Eprst писал(а) 08. Февраля 2011 :: 11:24:
Плохо, если картинка - это "печать", которая "перекрывает" кучу надписей и текста.
Тогда все "палки" и надписи загонять в объект типа текст - очень муторное занятие.

для этого случая Activebmp печать(круглая и синия)  картинка с прозрач фоном и без всяких проблем.(именно для решения этой задачи и создавался Activebmp)




Activebmp  портит размер картинки при печати. Это пройденный этап.
Хотя в предварительном просмотре и в самом мокселе всё выглядит вполне пристойно.

ничего он не портит
важно чтобы высота секции была больше высоты картинки ( т.е объект полностью лежал по высоте внутри секции )
ну и наверное обсуждать это именно в этой ветке off.


Могу кинуть наглядный демо-пример.
Улыбка

  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Старые релизы платформы 1С
Ответ #9 - 08. Февраля 2011 :: 12:28
Печать  
Eprst писал(а) 08. Февраля 2011 :: 12:24:
ЗЫ: причем что ActiveBmp , что  bmp_1C - размеры "уплывут" при печати.
А это неприемлемо.

непонятно
наоборот при печати каринка остается один в один как была т.е печать всегда круглая ( ее внешний контур окружность )
и размер печати не меняется
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Старые релизы платформы 1С
Ответ #10 - 08. Февраля 2011 :: 12:29
Печать  
Eprst писал(а) 08. Февраля 2011 :: 12:25:
Z1 писал(а) 08. Февраля 2011 :: 12:24:
Eprst писал(а) 08. Февраля 2011 :: 12:21:
Z1 писал(а) 08. Февраля 2011 :: 12:04:
Eprst писал(а) 08. Февраля 2011 :: 11:24:
Плохо, если картинка - это "печать", которая "перекрывает" кучу надписей и текста.
Тогда все "палки" и надписи загонять в объект типа текст - очень муторное занятие.

для этого случая Activebmp печать(круглая и синия)  картинка с прозрач фоном и без всяких проблем.(именно для решения этой задачи и создавался Activebmp)




Activebmp  портит размер картинки при печати. Это пройденный этап.
Хотя в предварительном просмотре и в самом мокселе всё выглядит вполне пристойно.

ничего он не портит
важно чтобы высота секции была больше высоты картинки ( т.е объект полностью лежал по высоте внутри секции )
ну и наверное обсуждать это именно в этой ветке off.


Могу кинуть наглядный демо-пример.
Улыбка


кидай.
только  работает наверное уже без нареканий лет 10.
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Старые релизы платформы 1С
Ответ #11 - 08. Февраля 2011 :: 12:35
Печать  
Eprst "собаку съел" на этих прозрачных картинках. Улыбка Хотя и он не сразу узнал про способ копирования сразу двух картинок из Офиса для получения прозрачного фона.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Старые релизы платформы 1С
Ответ #12 - 08. Февраля 2011 :: 13:09
Печать  
Ну на.. в мокселе - нормально, в предварительном  просмотри и на печати - болт - картинка обрезана.
  

__________002.ert ( 19 KB | Загрузки )
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Старые релизы платформы 1С
Ответ #13 - 08. Февраля 2011 :: 13:12
Печать  
alyuev писал(а) 08. Февраля 2011 :: 12:35:
Eprst "собаку съел" на этих прозрачных картинках. Улыбка Хотя и он не сразу узнал про способ копирования сразу двух картинок из Офиса для получения прозрачного фона.


Это точно..Достали меня бухи в своё время с "прозрачным" фоном.
ЗЫ: я даже ужастаБухгалтера "достал" - сделал он мне конвертацию мокселя в pdf - именно в его конвертации картинка в pdf не "портится" , во всех остальных pdf-принтёров прозрачный фон в становится не прозрачным.

Хотя я и нашел один пдф принтёр, который нормально моксель с прозрачной картинкой конвертит
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Старые релизы платформы 1С
Ответ #14 - 08. Февраля 2011 :: 13:19
Печать  
Eprst писал(а) 08. Февраля 2011 :: 13:09:
Ну на.. в мокселе - нормально, в предварительном  просмотри и на печати - болт - картинка обрезана.

В Примере нет картинки.
Если картинка больше области объекта то естественно всякое может быть при отображении.
В этом случае надо включить Обрезать bitmap объектом.
У меня всегда выполяется
1. картинка полностью лежит в объекте. Объект полностью лежит
по высоте внутри секции.Все.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Старые релизы платформы 1С
Ответ #15 - 08. Февраля 2011 :: 13:27
Печать  
Z1 писал(а) 08. Февраля 2011 :: 13:19:
Eprst писал(а) 08. Февраля 2011 :: 13:09:
Ну на.. в мокселе - нормально, в предварительном  просмотри и на печати - болт - картинка обрезана.

В Примере нет картинки.
Если картинка больше области объекта то естественно всякое может быть при отображении.
В этом случае надо включить Обрезать bitmap объектом.
У меня всегда выполяется
1. картинка полностью лежит в объекте. Объект полностью лежит
по высоте внутри секции.Все.


Эти все требования выполняются.. всё равно обрезает.
Ща кину в архиве с картинкой.
  

acx.rar ( 96 KB | Загрузки )
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Старые релизы платформы 1С
Ответ #16 - 08. Февраля 2011 :: 13:28
Печать  
я понял в чем дело надо в объетте писать
Код
Выбрать все
Попытка
    ActiveX.BmpFile = СокрЛП(ИмяФайла);
    ActiveX.Function     = 1 ;
    // Передается индекс  графического режима
    //ActiveX.GrMode =  1ока();

    ActiveX.DstWidth =   -1;
    ActiveX.DstHeight =  -1;

Исключение
КонецПопытки;
 


То что в желтом дает что идет без искажений при печати
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Старые релизы платформы 1С
Ответ #17 - 08. Февраля 2011 :: 13:37
Печать  
Z1 писал(а) 08. Февраля 2011 :: 13:28:
я
То что в желтом дает что идет без искажений при печати


Так вроде работает..Надо еще потестить. Но кто ж знал то, что минус один надо пихать ?! Улыбка Ээхх... доку надо было почитать.
Жалко, что только bmp можно пихать.
Печаль
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Старые релизы платформы 1С
Ответ #18 - 08. Февраля 2011 :: 13:44
Печать  
Eprst писал(а) 08. Февраля 2011 :: 13:37:
Z1 писал(а) 08. Февраля 2011 :: 13:28:
я
То что в желтом дает что идет без искажений при печати


Так вроде работает..Надо еще потестить. Но кто ж знал то, что минус один надо пихать ?! Улыбка
Жалко, что только bmp можно пихать.
Печаль

так там же отдельно файл выложен и в нем написано
Цитата:
май 2002 версия 1.4
Исправлена ошибка : На некоторые принтеры не выводилась изображение картинки.
Добавлена возможность растяжения/сжатия bitmap по размерам объекта на форме
это достигается когда
DstWidth = -1 (Ширина берется из объекта на форме)
DstWidth = -1 (Высота берется из объекта на форме)


ну и файле описания тоже все исправлено
Цитата:
Имя :      DstWidth
Назначение : Ширина результируещего bitmap изображения.
Используется только когда Function = 1 т.е. есть растяжение / или сжатие.
Когда Function = 0 значение DstWidth игнорируется.
Диапозон корректных значений : Могут быть 3 случая :
1. DstWidth > 0 Ширина(абсолютное значение) задается в пикселях. Т.е исходное изображение
длиной равной SrcWidth преобразуется к ширине DstWidth.
2. DstWidth = 0 Ширина берется из исходного bitmap изображения = SrcWidth .
3. DstWidth = -1 Ширина берется из объекта на форме.
4. DstWidth < -1. Ширина( относительно исходной ширины SrcWidth)
Берется модуль DstWidth, полученное число есть процент от SrcWidth.
Формула следующая резширина = ( -SrcWidth * DstWidth  ) / 100.
Диапозон корректных значений : все значения корректны
Значение по умолчанию : 0

Имя :      DstHeight
Назначение : Высотаа результируещего bitmap изображения.
Используется только когда Function = 1 т.е. есть растяжение / или сжатие.
Когда Function = 0 значение DstHeight игнорируется.
Диапозон корректных значений : Могут быть 3 случая :
1. DstHeight > 0 Высота (абсолютное значение) задается в пикселях. Т.е исходное изображение
высотой равной SrcHeight преобразуется к высоте DstHeight.
2. DstHeight = 0 Высота берется из исходного bitmap изображения = DstHeight.
3. DstWidth = -1 Высота берется из объекта на форме.
4. DstHeight < 1. Высота( относительно исходной высоты SrcHeight)
Берется модуль DstHeight, полученное число есть процент от SrcHeight.
Формула следующая резвысота = ( -SrcHeight * DstWidth  ) / 100.
Диапозон корректных значений : все значения корректны
Значение по умолчанию : 0

  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Старые релизы платформы 1С
Ответ #19 - 08. Февраля 2011 :: 13:46
Печать  
да увидел, просто не обращал внимания видать - попробовал пару раз и забил.
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Старые релизы платформы 1С
Ответ #20 - 08. Февраля 2011 :: 13:58
Печать  
Вот и ещё мы кое-что узнали интересного и полезного... Спасибо...
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
nikservice
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 1
Зарегистрирован: 29. Марта 2019
Re: Старые релизы платформы 1С + прозрачные картинки в таблице
Ответ #21 - 29. Марта 2019 :: 08:26
Печать  
Господа! Просьба выложить доки (описание) Bmp_1c.ocx Text_1c.ocx. Сами ocx у меня есть, а вот описание (или что там шло в комплекте) - нету. Очень неудобно и непонятно.
  
Наверх
 
IP записан
 
Arbuz
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 57
Зарегистрирован: 06. Февраля 2019
Re: Старые релизы платформы 1С + прозрачные картинки в таблице
Ответ #22 - 09. Апреля 2019 :: 07:21
Печать  

Цитата:
Просьба выложить доки (описание) Bmp_1c.ocx Text_1c.ocx


полчаса искал как файл тут прикрепить, так и не нашёл.
всё в комплекте. хранение 14 дней.
https://dropmefiles.com/vKSvw
  
Наверх
 
IP записан
 
MadDAD
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 22
Зарегистрирован: 17. Ноября 2015
Re: Старые релизы платформы 1С + прозрачные картинки в таблице
Ответ #23 - 28. Мая 2019 :: 07:47
Печать  
nikservice писал(а) 29. Марта 2019 :: 08:26:
Господа! Просьба выложить доки (описание) Bmp_1c.ocx Text_1c.ocx. Сами ocx у меня есть, а вот описание (или что там шло в комплекте) - нету. Очень неудобно и непонятно.



У Bmp_1c.ocx есть один неприятный момент. На Win7 и более новых она течет по GDI объектам и по памяти. Хорошо это заметно при массовом формировании таблиц с картинками. Память отъедается как раз в размере загруженного BMP, и потом не освобождается. Для GDI я делал отдельный сборщик мусора, а вот проблему с памятью мне так и не удалось до конца решить.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать