Копирование картинок в REPORT

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Копирование картинок в REPORT

Сообщение Игорь Столяров »

Привет всем !

Простая задача. Есть 2 (два) одинаковых IMAGE.
В одном указана картинка и нужно скопировать её во второй IMAGE.
Первое, что приходит в голову - не работает:

Код: Выделить всё

  ?Image2{Prop:ImageBits} = ?Image1{Prop:ImageBits}
Тогда непонятно. Не сталкивался ли кто-нибудь с такой задачей ?
Заранее спасибо за идеи ... :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Копирование картинок в REPORT

Сообщение Admin »

Ну так к примеру:

Код: Выделить всё

Img                 &CSTRING
	CODE    
	Img &= NEW CSTRING(LEN(Report $ ?Image1{Prop:ImageBits}))
	Img = Report $ ?Image1{Prop:ImageBits}
	Report $ ?Image2{Prop:ImageBits} = Img
	DISPOSE(Img)
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Копирование картинок в REPORT

Сообщение Игорь Столяров »

Спасибо ... Я вот почему-то всегда очкую применять функции обработки текста к бинарным строкам. :(
В том же FreeImage - если копируем в памяти бинарную строку (картинка), то всегда известен её размер.
А здесь размер определяется по содержимому бинарной строки ... :(
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Копирование картинок в REPORT

Сообщение kreator »

Игорь Столяров писал(а): 28 Август 2021, 7:45 Первое, что приходит в голову - не работает:
КОД: ВЫДЕЛИТЬ ВСЁ

?Image2{Prop:ImageBits} = ?Image1{Prop:ImageBits}
Может SetTarget не применён? Или надо "Report$?Image1{Prop:ImageBits}"?
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Копирование картинок в REPORT

Сообщение Игорь Столяров »

kreator писал(а): 28 Август 2021, 17:25 Или надо "Report$?Image1{Prop:ImageBits}"?
Нет. Судя по всему - этот проперти вообще указатель.

Код: Выделить всё

	?Image1{Prop:ImageBits} = '' ! Сброс картинки не работает
	
Loc:STMP  String(20)
       Code
        ...
        Loc:STMP = ''
        ?Image1{Prop:ImageBits} = Loc:STMP  ! А вот так сброс картинки работает
Действительно копировать картинку надо через строку, которую объявлять по размеру Size(?Image1{Prop:ImageBits})
или использовать буфер &IDynStr. Я сейчас нашёл частное решение через FreeImage, но потом вернусь к этой теме ...
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить