Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Слои иконки, получить доступ к слоям 
V
    Опции темы
LLlaMaH
Дата 15.1.2008, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 8.6.2007

Репутация: нет
Всего: нет



Допустим у меня есть файл иконки в котором записано несколько иконок 32*32 16*16 24*24
я их храню как Embedded Resource потом в runtime я их извлекаю потоком и помещаю в переменную типа Icon
далее допустим мне ее нужно нарисовать на форме
this.CreateGraphix().DrawIcon(IconName,100,100);
и вот тут появляется проблема: на форме рисуется иконка которая находится первой в списке иконок внутри файла.... 
как мне добраться до иконки другого размера. например первая у меня лежит 16*16 а поседняя 32*32... вот ее мне и нужно нарисовать....
как это сделать?... или хотябы подскажите куда копать... 
PM   Вверх
stab
Дата 15.1.2008, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 7
Всего: 48



Graphics.DrawIcon(Icon, Rectangle) должно помочь.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
LLlaMaH
Дата 15.1.2008, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 8.6.2007

Репутация: нет
Всего: нет



нет...это с масштабирует иконку...
что бы не быть голословным приложу код:

Код

Icon ic = new Icon("aaa.ico");
            this.CreateGraphics().DrawIcon(ic, new Rectangle(16, 16, 16, 16));
            this.CreateGraphics().DrawIcon(ic, new Rectangle(116, 116, 24, 24));
            this.CreateGraphics().DrawIcon(ic, new Rectangle(116, 16, 32, 32));
            this.CreateGraphics().DrawIcon(ic, new Rectangle(216, 16, 48, 48));



эта гадость выводит по умолчанию иконку 32*32... хотя они в файле лежат 
16,24,32,48

а в остальных вариантах масштабирует....
PM   Вверх
stab
Дата 15.1.2008, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 7
Всего: 48



Код

Icon icon = new Icon(originalIcon, new Size(32, 32));
e.Graphics.DrawIcon(icon, 10, 10);



--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
LLlaMaH
Дата 16.1.2008, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 8.6.2007

Репутация: нет
Всего: нет



спасибо огромное...помогло....
PM   Вверх
LLlaMaH
Дата 22.1.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 8.6.2007

Репутация: нет
Всего: нет



Еще вопрос в продолжении темы.
А если в файле 2 или больше иконки одного размера
и мне нужно получить одну из них.... 
ну  к примеру в файле иконки 3 иконки  разрешением 32*32
как мне добраться до третьей?
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0437 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.