Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Библиотека иконок / 24 сообщений из 24, страница 1 из 1
29.12.2009, 08:43
    #36391137
АленаШ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
Привет всем знатокам! С наступающим Вас Новым Годом!

Накопилось много иконок, используемых в проекте. Как лучше и грамотнее поступить:

1. хранить их отдельно в каталоге и переписывать с проектом ???

2. включать в проект ( размер .exe сразу увеличивается !!!) ???

3. создавать библиотеку (тогда какую и чем лучше, и как ее потом цеплять в проекте) ????

Спасибо!
...
Рейтинг: 0 / 0
29.12.2009, 11:08
    #36391403
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
И 1, и 2, и 3.

Храню в каталоге(ах) с проектом, иначе в design-time неудобно работать (добавлять, удалять, редактировать). Перед компиляцией релиза програмы запускаю сборку всех графических файликов в одну таблицу, таблица включена в exe. Преимущества: не надо следить, включил или нет нужный файлик в exe, нет огромного количества файлов в проекте. Как Вам делать - Вам решать :)
...
Рейтинг: 0 / 0
29.12.2009, 13:33
    #36391802
igorbik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
АленаШ,

Исходить нужно не из размера файла, а из практичности.
На практике почти все время нужно будет изменять ЕХЕ-файл.
Так что либо нужно поступать по методу XAndy, либо просто все включить в проект.
Размер файла нужно минимизировать только для пересылки в сети, но любой архиватор сожмет его для этих целей до нормальных размеров.
Желаю удачи.
...
Рейтинг: 0 / 0
29.12.2009, 17:34
    #36392607
АленаШ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
XAndy,

Непонятно, в этот файл-сборку Вы складываете только имена файлов с иконками или сами изображения? А как к ним обращаться быстро из форм? Что-то я туплю...
...
Рейтинг: 0 / 0
29.12.2009, 18:41
    #36392783
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
АленаШ,

Упс, соврал Вам, уж извините :)
По памяти писал, сейчас глянул - действительно есть таблица с картинками, которая автоматом строится, состоит из полей имя файла и содержимого файла (бинарное мемо), но содержимое пусто, не используется (хотя иногда я такое использовал, можно сделать через pictureval или выгружая требуемые картинки во временный каталог). Данный же файл у меня используется для другой цели - кеширования картинок при старте фокса для корректной отработки прозрачности, что позволяет обойтись без bmp+msk. Т.е. в фоксе везде, включая меню и т.п. можно обойтись png или gif, без bmp+msk.
...
Рейтинг: 0 / 0
29.12.2009, 21:08
    #36392905
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
XAndyДанный же файл у меня используется для другой цели - кеширования картинок при старте фокса для корректной отработки прозрачности, что позволяет обойтись без bmp+msk. Т.е. в фоксе везде, включая меню и т.п. можно обойтись png или gif, без bmp+msk.
Если не затруднит немного подробнее как можно обойтись без bmp+msk ?
...
Рейтинг: 0 / 0
29.12.2009, 23:52
    #36393019
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
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.
- надо самому рисовать отключенное главное меню при вызове модальных форм (впрочем, в любом варианте надо отключать тулбары, поэтому и меню там же можно).

Второй вариант как-будто сложнее, но выглядит программа по человечески.
...
Рейтинг: 0 / 0
30.12.2009, 15:32
    #36394041
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
XAndy
Спасибо.Потренируюсь на выходных.
...
Рейтинг: 0 / 0
17.07.2010, 23:42
    #36746746
Библиотека иконок
XAndy
2) png (или gif до sp2) со слоем прозрачности
+ можно заставить работать везде в программе с учетом прозрачности, используя кеширование
объектов Image.
+ выглядят отлично, т.к. можно использовать любые готовые картинки с прозрачностью.
+ при выдирании ничего подрисовывать не надо, просто сохранить в png (только с sp2) или gif.
- надо сохранять дополнительно дизейбленную картинку - это не требует рисования как msk,
но опять имеем пару файлов: вместо bmp+msk -> png+png.
- надо везде в программе присваивать не только picture, но и disablepicture.
- надо самому рисовать отключенное главное меню при вызове модальных форм (впрочем, в любом варианте надо отключать тулбары, поэтому и меню там же можно).

Второй вариант как-будто сложнее, но выглядит программа по человечески.

а поподробнее как это реализуется можно расписать? у меня так и не получается сделать прозрачный фон png картинок на кнопках
...
Рейтинг: 0 / 0
18.07.2010, 05:12
    #36746859
reware
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
АленаШ,
Можно и не включать иконки в проект, а прикладывать просто в папку приложения, но от этого особого счастья не будет.
...
Рейтинг: 0 / 0
18.07.2010, 17:33
    #36747165
guest12345
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
А можно, как показывал Вадим Пирожков, хранить,
я пробовал пока только в ознакомительных целях
- прикладываю пример, по статье "Тайны посторонних связей"
...
Рейтинг: 0 / 0
18.07.2010, 18:06
    #36747171
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
прошелмимо7665у меня так и не получается сделать прозрачный фон png картинок на кнопках
vfp sp2 ?
...
Рейтинг: 0 / 0
18.07.2010, 21:13
    #36747250
Библиотека иконок
XAndy
vfp sp2 ?

да vfp sp2
обьект image картинки png с прозрачным фоном, а на кнопках темный
при этом в конструкторе картинки выглядят нормально, а при выполнении программы
фон темный, тут советовали

2) png (или gif до sp2) со слоем прозрачности
+ можно заставить работать везде в программе с учетом прозрачности, используя кеширование
объектов Image.
+ выглядят отлично, т.к. можно использовать любые готовые картинки с прозрачностью.
+ при выдирании ничего подрисовывать не надо, просто сохранить в png (только с sp2) или gif.
- надо сохранять дополнительно дизейбленную картинку - это не требует рисования как msk,
но опять имеем пару файлов: вместо bmp+msk -> png+png.
- надо везде в программе присваивать не только picture, но и disablepicture.
- надо самому рисовать отключенное главное меню при вызове модальных форм (впрочем, в любом варианте надо отключать тулбары, поэтому и меню там же можно).

не совсем понимаю, как это в коде должно выглядеть
...
Рейтинг: 0 / 0
19.07.2010, 10:40
    #36747586
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
прошелмимо7665,

Попробуйте при старте приложения создать объект
Код: plaintext
1.
2.
goApp.AddObject("MyImage","Image")
goApp.MyImage.Picture = "MyImage.png"

Объект не уничтожать. Теперь везде в программе, где будет использоваться картинка MyImage.png (в меню и попапах, на кнопках - везде) - она будет с учетом слоя прозрачности.
...
Рейтинг: 0 / 0
19.07.2010, 17:36
    #36748811
Библиотека иконок
XAndyОбъект не уничтожать. Теперь везде в программе, где будет использоваться картинка MyImage.png (в меню и попапах, на кнопках - везде) - она будет с учетом слоя прозрачности.

не работает, на кнопках фон непрозрачный (
...
Рейтинг: 0 / 0
19.07.2010, 21:37
    #36749234
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
прошелмимо7665,

ОС какая? У меня работает на XP, Vista, Win7. Ещё пробуйте gif, он тоже поддерживает прозрачный слой. Должно работать, т.к. в хелпе именно так описано (см.примечание к св-ву Picture)
...
Рейтинг: 0 / 0
19.07.2010, 21:38
    #36749237
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
прошелмимо7665,

Если не работает - делайте нерабочий пример, посмотрим.
...
Рейтинг: 0 / 0
20.07.2010, 00:32
    #36749391
Библиотека иконок
XAndyЕсли не работает - делайте нерабочий пример, посмотрим.
Сделал тестовый проект - там на кнопках все нормально, стал разбираться, что не так в основном проекте, проблема оказалась в команде _SCREEN.BackColor=... , убрал ее и фон картинок на кнопках стал прозрачным. Всем спс за помощь.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
09.01.2012, 08:23
    #37606218
StQFox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
XAndyпрошелмимо7665,

Попробуйте при старте приложения создать объект
Код: sql
1.
2.
goApp.AddObject("MyImage","Image")
goApp.MyImage.Picture = "MyImage.png"



Объект не уничтожать. Теперь везде в программе, где будет использоваться картинка MyImage.png (в меню и попапах, на кнопках - везде) - она будет с учетом слоя прозрачности.

Доброе время суток!
Воспользовался советом, но вот проблема - не получается воспользоваться кодом.
Я так понимаю предварительно нужно сделать:
goApp=CREATEOBJECT("cApplication")
но в этом случае возникает ошибка - определение класса не найдено.
Подскажите правильность действий, перерыл кучу инфы, пока ничего определенного.
Что не так делаю?
...
Рейтинг: 0 / 0
10.01.2012, 11:00
    #37607209
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
StQFox ,
Это лишь пример, конкретно можно реализовывать как угодно. Если нет глобального класса приложения, можете создать глобальный массив объектов:

Код: sql
1.
2.
3.
4.
5.
public oImageCache[2]
oImageCache[1] = newobject("Image1")
oImageCache[1].Picture = "Image1.png"
oImageCache[2] = newobject("Image2")
oImageCache[2].Picture = "Image2.gif"
...
Рейтинг: 0 / 0
10.01.2012, 11:02
    #37607215
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
поправил
Код: sql
1.
2.
3.
4.
5.
public oImageCache[2]
oImageCache[1] = newobject("Image")
oImageCache[1].Picture = "Image1.png"
oImageCache[2] = newobject("Image")
oImageCache[2].Picture = "Image2.gif"
...
Рейтинг: 0 / 0
10.01.2012, 12:47
    #37607404
Crispy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
StQFoxПодскажите правильность действий, перерыл кучу инфы, пока ничего определенного.

На фоксклубе было уже несколько тем про аналогичное. Поиск рулит. ;) Вот в частности и одно готовое решение: http://forum.foxclub.ru/read.php?29,539897,539996#msg-539996
...
Рейтинг: 0 / 0
10.01.2012, 16:04
    #37607814
StQFox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
XAndy,

Спасибо за совет, надо поразбираться
...
Рейтинг: 0 / 0
10.01.2012, 16:05
    #37607817
StQFox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека иконок
Crispy,

согласен , рулит :) были ссылки и на фох клуб, - видимо не повезло :)
благодарю!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Библиотека иконок / 24 сообщений из 24, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]