|
Библиотека иконок
|
|||
---|---|---|---|
#18+
Привет всем знатокам! С наступающим Вас Новым Годом! Накопилось много иконок, используемых в проекте. Как лучше и грамотнее поступить: 1. хранить их отдельно в каталоге и переписывать с проектом ??? 2. включать в проект ( размер .exe сразу увеличивается !!!) ??? 3. создавать библиотеку (тогда какую и чем лучше, и как ее потом цеплять в проекте) ???? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2009, 08:43 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
И 1, и 2, и 3. Храню в каталоге(ах) с проектом, иначе в design-time неудобно работать (добавлять, удалять, редактировать). Перед компиляцией релиза програмы запускаю сборку всех графических файликов в одну таблицу, таблица включена в exe. Преимущества: не надо следить, включил или нет нужный файлик в exe, нет огромного количества файлов в проекте. Как Вам делать - Вам решать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2009, 11:08 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
АленаШ, Исходить нужно не из размера файла, а из практичности. На практике почти все время нужно будет изменять ЕХЕ-файл. Так что либо нужно поступать по методу XAndy, либо просто все включить в проект. Размер файла нужно минимизировать только для пересылки в сети, но любой архиватор сожмет его для этих целей до нормальных размеров. Желаю удачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2009, 13:33 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
XAndy, Непонятно, в этот файл-сборку Вы складываете только имена файлов с иконками или сами изображения? А как к ним обращаться быстро из форм? Что-то я туплю... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2009, 17:34 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
АленаШ, Упс, соврал Вам, уж извините :) По памяти писал, сейчас глянул - действительно есть таблица с картинками, которая автоматом строится, состоит из полей имя файла и содержимого файла (бинарное мемо), но содержимое пусто, не используется (хотя иногда я такое использовал, можно сделать через pictureval или выгружая требуемые картинки во временный каталог). Данный же файл у меня используется для другой цели - кеширования картинок при старте фокса для корректной отработки прозрачности, что позволяет обойтись без bmp+msk. Т.е. в фоксе везде, включая меню и т.п. можно обойтись png или gif, без bmp+msk. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2009, 18:41 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
XAndyДанный же файл у меня используется для другой цели - кеширования картинок при старте фокса для корректной отработки прозрачности, что позволяет обойтись без bmp+msk. Т.е. в фоксе везде, включая меню и т.п. можно обойтись png или gif, без bmp+msk. Если не затруднит немного подробнее как можно обойтись без bmp+msk ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2009, 21:08 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
Dag, Прозрачноть (альфа-канал) поддерживается фоксом только для объекта Image. Но фокс запоминает (кеширует) первый раз открытую картинку со всеми её параметрами (до выполнения clear resources). Если при старте программы для всех картинок создать невидимые объекты Image, куда подгрузить картинки с прозрачностью, то фокс ВЕЗДЕ в программе для этих картинок будет учитывать прозрачность, например, в кнопках и главном меню (см.хелп по св-ву Picture, третье замечание). Поэтому при построении проекта можно составить список картинок (заодно создать файл включений для автоматического включения картинок в проект), а при запуске программы пройтись по списку, для картинок с прозрачностью создать объекты Image и присвоить св-ву Picture значение. С картинками есть 2 решения: 1) bmp+msk + работает везде. + фокс умеет дизеблить картинки сам. - выглядят картинки часто плохо, особенно округлости. - при выдирании надо самому подрисовывать картинку. - и самому рисовать msk. 2) png (или gif до sp2) со слоем прозрачности + можно заставить работать везде в программе с учетом прозрачности, используя кеширование объектов Image. + выглядят отлично, т.к. можно использовать любые готовые картинки с прозрачностью. + при выдирании ничего подрисовывать не надо, просто сохранить в png (только с sp2) или gif. - надо сохранять дополнительно дизейбленную картинку - это не требует рисования как msk, но опять имеем пару файлов: вместо bmp+msk -> png+png. - надо везде в программе присваивать не только picture, но и disablepicture. - надо самому рисовать отключенное главное меню при вызове модальных форм (впрочем, в любом варианте надо отключать тулбары, поэтому и меню там же можно). Второй вариант как-будто сложнее, но выглядит программа по человечески. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2009, 23:52 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
XAndy Спасибо.Потренируюсь на выходных. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2009, 15:32 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
XAndy 2) png (или gif до sp2) со слоем прозрачности + можно заставить работать везде в программе с учетом прозрачности, используя кеширование объектов Image. + выглядят отлично, т.к. можно использовать любые готовые картинки с прозрачностью. + при выдирании ничего подрисовывать не надо, просто сохранить в png (только с sp2) или gif. - надо сохранять дополнительно дизейбленную картинку - это не требует рисования как msk, но опять имеем пару файлов: вместо bmp+msk -> png+png. - надо везде в программе присваивать не только picture, но и disablepicture. - надо самому рисовать отключенное главное меню при вызове модальных форм (впрочем, в любом варианте надо отключать тулбары, поэтому и меню там же можно). Второй вариант как-будто сложнее, но выглядит программа по человечески. а поподробнее как это реализуется можно расписать? у меня так и не получается сделать прозрачный фон png картинок на кнопках ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2010, 23:42 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
АленаШ, Можно и не включать иконки в проект, а прикладывать просто в папку приложения, но от этого особого счастья не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2010, 05:12 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
А можно, как показывал Вадим Пирожков, хранить, я пробовал пока только в ознакомительных целях - прикладываю пример, по статье "Тайны посторонних связей" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2010, 17:33 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
прошелмимо7665у меня так и не получается сделать прозрачный фон png картинок на кнопках vfp sp2 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2010, 18:06 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
XAndy vfp sp2 ? да vfp sp2 обьект image картинки png с прозрачным фоном, а на кнопках темный при этом в конструкторе картинки выглядят нормально, а при выполнении программы фон темный, тут советовали 2) png (или gif до sp2) со слоем прозрачности + можно заставить работать везде в программе с учетом прозрачности, используя кеширование объектов Image. + выглядят отлично, т.к. можно использовать любые готовые картинки с прозрачностью. + при выдирании ничего подрисовывать не надо, просто сохранить в png (только с sp2) или gif. - надо сохранять дополнительно дизейбленную картинку - это не требует рисования как msk, но опять имеем пару файлов: вместо bmp+msk -> png+png. - надо везде в программе присваивать не только picture, но и disablepicture. - надо самому рисовать отключенное главное меню при вызове модальных форм (впрочем, в любом варианте надо отключать тулбары, поэтому и меню там же можно). не совсем понимаю, как это в коде должно выглядеть ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2010, 21:13 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
прошелмимо7665, Попробуйте при старте приложения создать объект Код: plaintext 1. 2.
Объект не уничтожать. Теперь везде в программе, где будет использоваться картинка MyImage.png (в меню и попапах, на кнопках - везде) - она будет с учетом слоя прозрачности. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2010, 10:40 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
XAndyОбъект не уничтожать. Теперь везде в программе, где будет использоваться картинка MyImage.png (в меню и попапах, на кнопках - везде) - она будет с учетом слоя прозрачности. не работает, на кнопках фон непрозрачный ( ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2010, 17:36 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
прошелмимо7665, ОС какая? У меня работает на XP, Vista, Win7. Ещё пробуйте gif, он тоже поддерживает прозрачный слой. Должно работать, т.к. в хелпе именно так описано (см.примечание к св-ву Picture) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2010, 21:37 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
прошелмимо7665, Если не работает - делайте нерабочий пример, посмотрим. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2010, 21:38 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
XAndyЕсли не работает - делайте нерабочий пример, посмотрим. Сделал тестовый проект - там на кнопках все нормально, стал разбираться, что не так в основном проекте, проблема оказалась в команде _SCREEN.BackColor=... , убрал ее и фон картинок на кнопках стал прозрачным. Всем спс за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2010, 00:32 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
XAndyпрошелмимо7665, Попробуйте при старте приложения создать объект Код: sql 1. 2.
Объект не уничтожать. Теперь везде в программе, где будет использоваться картинка MyImage.png (в меню и попапах, на кнопках - везде) - она будет с учетом слоя прозрачности. Доброе время суток! Воспользовался советом, но вот проблема - не получается воспользоваться кодом. Я так понимаю предварительно нужно сделать: goApp=CREATEOBJECT("cApplication") но в этом случае возникает ошибка - определение класса не найдено. Подскажите правильность действий, перерыл кучу инфы, пока ничего определенного. Что не так делаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2012, 08:23 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
StQFox , Это лишь пример, конкретно можно реализовывать как угодно. Если нет глобального класса приложения, можете создать глобальный массив объектов: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2012, 11:00 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
поправил Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2012, 11:02 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
StQFoxПодскажите правильность действий, перерыл кучу инфы, пока ничего определенного. На фоксклубе было уже несколько тем про аналогичное. Поиск рулит. ;) Вот в частности и одно готовое решение: http://forum.foxclub.ru/read.php?29,539897,539996#msg-539996 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2012, 12:47 |
|
Библиотека иконок
|
|||
---|---|---|---|
#18+
XAndy, Спасибо за совет, надо поразбираться ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2012, 16:04 |
|
|
start [/forum/topic.php?fid=41&msg=36747250&tid=1583899]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 255ms |
total: | 405ms |
0 / 0 |