Страница 1 из 1
Копирование картинок в REPORT
Добавлено: 28 Август 2021, 7:45
Игорь Столяров
Привет всем !
Простая задача. Есть 2 (два) одинаковых IMAGE.
В одном указана картинка и нужно скопировать её во второй IMAGE.
Первое, что приходит в голову - не работает:
Код: Выделить всё
?Image2{Prop:ImageBits} = ?Image1{Prop:ImageBits}
Тогда непонятно. Не сталкивался ли кто-нибудь с такой задачей ?
Заранее спасибо за идеи ...
Копирование картинок в REPORT
Добавлено: 28 Август 2021, 11:16
Admin
Ну так к примеру:
Код: Выделить всё
Img &CSTRING
CODE
Img &= NEW CSTRING(LEN(Report $ ?Image1{Prop:ImageBits}))
Img = Report $ ?Image1{Prop:ImageBits}
Report $ ?Image2{Prop:ImageBits} = Img
DISPOSE(Img)
Копирование картинок в REPORT
Добавлено: 28 Август 2021, 11:22
Игорь Столяров
Спасибо ... Я вот почему-то всегда очкую применять функции обработки текста к бинарным строкам.
В том же FreeImage - если копируем в памяти бинарную строку (картинка), то всегда известен её размер.
А здесь размер определяется по содержимому бинарной строки ...
Копирование картинок в REPORT
Добавлено: 28 Август 2021, 17:25
kreator
Игорь Столяров писал(а): ↑28 Август 2021, 7:45
Первое, что приходит в голову - не работает:
КОД: ВЫДЕЛИТЬ ВСЁ
?Image2{Prop:ImageBits} = ?Image1{Prop:ImageBits}
Может SetTarget не применён? Или надо "Report$?Image1{Prop:ImageBits}"?
Копирование картинок в REPORT
Добавлено: 28 Август 2021, 20:18
Игорь Столяров
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, но потом вернусь к этой теме ...