|
Вопрос # 1 580/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Возможно ли в ТImageList загрузить JPG картинку напрямую (то есть интерфейс делфи, а НЕ программно - ImageList Editor).
Существуют усовершенствованные ТImageList c вышеуказанной возможностью?
п.с. у меня программа использует JPG картинки, загружаю их через ImageList, от использования ресурсов (загрузки JPG из ресурса) отказался.
 |
Вопрос задал: Phoenix (статус: Посетитель)
Вопрос отправлен: 13 мая 2008, 18:15
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: ANBsoft
Здравствуйте, Phoenix!
Открываем помощь (F1) для ImageList и читаем описание метода Add:
Adds an Image and its Mask to the image list object.
function Add(Image, Mask: TBitmap): Integer;
Description
Use the Add method to add images with their masks to an image list. It returns the index of the added image, or -1 if it fails. When the Masked property of the image list is False, the second bitmap handle is ignored; it can be set to nil.
Это то что нужно, рядом есть описание других методов.
 |
Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 13 мая 2008, 18:55
|
Мини-форум вопроса
Всего сообщений: 13; последнее сообщение — 15 мая 2008, 08:41; участников в обсуждении: 4.
|
ANBsoft (статус: Студент), 13 мая 2008, 18:57 [#1]:
Если нужно добавить в самом делфи - щелкаем двойным щелчком на компоненте и добавляем.
|
|
Phoenix (статус: Посетитель), 13 мая 2008, 21:32 [#2]:
в том, то и дело, меня не устраивает стандартный ImageList Editor, в него можно загружать только битмапы и иконки!!! мне нужна загрузка JPEG.
программный метод загрузки JPEG в ImageList мне известен.
Вопрос в силе! Говоря проще мне надо "в самом делфи - щелкуть двойным щелчком на компоненте и загрузить JPEG", а НЕ бмп или ико
п.с. у меня Делфи 7 к сведению. может ImageList Editor 2006-го и умеет добавлять жпги или пнг, я не в курсе.
|
|
Вадим К (статус: Академик), 13 мая 2008, 22:47 [#3]:
TImageList не предназначен для добавления jpeg картинок в него - они не поддерживают маски и просто это не назначение этого компонента.
Основоное назначение - список картинок для меню/тулбаров. А тут прижились bmp/ico. jpeg никак не лезит.
Может намекнёте, с какой целью вам это надо?
Галочка "подтверждения прочтения" - вселенское зло.
|
|
ANBsoft (статус: Студент), 14 мая 2008, 00:54 [#4]:
А почему отказались от загрузки из ресурсов?
|
|
Dron (статус: Студент), 14 мая 2008, 11:44 [#5]:
Если хотите обращаться к картинкам по индексам, как в ImageList - создайте массив картинок. Что-то вроде этого:
var Images: array of TPicture;
Загрузку картинок в такой массив организовать проще простого. И обращаться удобно.
С уважением.
|
|
Phoenix (статус: Посетитель), 14 мая 2008, 16:48 [#6]:
все это мне нужно для хранения в главном исполняемом файле программы картинок большого разрешения (а как известно битмап - несжатый формат), отсюда получается большой рамер рисунка, а если их несколько, размер ехе увеличится в 7-10 раз!
ресурсы не использую от того, что их легко вынуть или "расковырять" любой рес-ютилитой, а с методами криптования и паковки я мало знаком (точнее некоторые их надёжные комбинации приводят к неработоспособности программы)
|
|
Dron (статус: Студент), 14 мая 2008, 18:39 [#7]:
Вообще-то, хранение любых файлов приведёт к увеличению объём конечного исполняемого файла, а кроме того, и скорости запуска программы. Короче говоря, способ выбран неудачный. Если хотите защитить файлы и не использовать ресурсы - храните картинки в зашифрованном виде во внешних файлах и подгружайте их оттуда, предварительно раскодировав. Примеров по кодированию в сети можно найти достаточно.
С уважением.
|
|
Вадим К (статус: Академик), 14 мая 2008, 21:09 [#8]:
Я бы сказал, что хранение в ImageList нисколько не усложнит "добычу картинок".
Во-вторых, хранение в выполняемом файле замедлит загрузку формы, а не приложения если конечно эта форма не есть автосоздаваемой. Но даже в этом случае заметное торможение будет при нескольких мегабайтах.
И на последок - надо будут картинки - вытянут. Картинки надо не так защищать. Если это действительно ваши картинки, которые вы рисовали, то оформляйте авторские права на них. Если же это "чесно украденные", то я не понимаю вашего стремления.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Phoenix (статус: Посетитель), 15 мая 2008, 00:14 [#9]:
картинки действительно авторские, рисованые от руки. если не составит труда, поделитесь способом защиты картинок в тех же ресурсах. загружать картинки из сторонних файлов стараюсь избегать, программа будет распространятся как один единственный ехе.
|
|
ANBsoft (статус: Студент), 15 мая 2008, 01:34 [#11]:
Защищать бесполезно, самый простой вариант - можно прямо с экрана сграбить, вообще не копаясь в программе, а если защищать, то изучить водяные знаки и прочее. Но это защита по закону, а у нас принято плевать на закон.
Так что в данном случае медицина, похоже, бессильна.
|
|
Phoenix (статус: Посетитель), 15 мая 2008, 08:05 [#12]:
Все, думаю нечего больше мне тут мудрить, благодарю за объективные ответы
|
|
Dron (статус: Студент), 15 мая 2008, 08:41 [#13]:
Распространять программу одним файлом можно (и нужно) в любом случае - сделав для неё инсталлятор. И сколько там файлов используются - 2 или 1000 - абсолютно неважно.
С уважением.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|