Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2013, 13:12   #1
АлМазСофт
Пользователь
 
Регистрация: 26.01.2010
Сообщений: 24
Вопрос Как загрузить библиотеку пиктограмм в ImageList

В Delphi библиотека пиктограмм легко загружалась:
Код:
procedure LoadImageList();  //Загрузка картинок из файла Категории.bmp
var
  Bmp : TBitmap;
begin
  Bmp := TBitmap.Create;
  try
    Bmp.LoadFromFile(GetCurrentDir + '\Категории.bmp ');
    dtmdl1.ILCategories.Clear; //ILCategories это ImageList  
    dtmdl1.ILCategories.Add(Bmp,nil);
    form1.lbl1.Caption := 'Загружено картинок: ' + inttostr(dtmdl1.ILCategories.Count); //Все картинки
  finally
    Bmp.Free;
  end;
end;
Все пиктограммы вырезались из библиотеки по заданной в ImageListе ширине одной пиктограммы и загружались в ImageList по отдельности.
А в c# вся библиотека пиктограмм загружается одной картинкой.
Код:
private void btnIML_Click(object sender, EventArgs e)
{
	if(openFileDialog1.ShowDialog() == DialogResult.OK)
	{
               IML.Images.Clear();
               addImage(openFileDialog1.FileName);
               lblIML.Text = "Загружено картинок: " + IML.Images.Count.ToString(); // 1 картинка
         }
	
}
private void addImage(string imageToLoad)
{
	if (imageToLoad != "")
	{
		IML.Images.Add(Image.FromFile(imageToLoad));
                pictureBox1.Image = Image.FromFile(imageToLoad);
	}
}
Уважаемые гуру. Я только начал писать на c#.
Это моя первая реальная программа.
Пожалуйста, подскажите, как в c# сделать также, как было в Delphi.

Последний раз редактировалось Stilet; 20.11.2013 в 11:53.
АлМазСофт вне форума Ответить с цитированием
Старый 20.11.2013, 05:29   #2
simples
Форумчанин
 
Регистрация: 03.10.2013
Сообщений: 142
По умолчанию

Ваша проблема "в Дельфи еcть класс автоматически вырезающий пиктограммки из одного большого файла с картинкой. А в шарпе нету!"?
Напишите свой такой класс. Алгоритм Вы знаете (вырезать из большого маленькое имея заданные размеры маленького).
ImageList есть в #. Но нарезкой он не занимается.
simples вне форума Ответить с цитированием
Старый 20.11.2013, 09:21   #3
АлМазСофт
Пользователь
 
Регистрация: 26.01.2010
Сообщений: 24
По умолчанию

Вы читали вопрос?
Там написано: Я только начал писать на c#.
Боюсь, что написать свой класс для меня пока непосильная задача
АлМазСофт вне форума Ответить с цитированием
Старый 20.11.2013, 12:00   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Во-первых: Флуд прекращаем.
Во-вторых: я согласен с тем что стоит разрезать пиктограммы на отдельные файлы. Иначе придется изголяться с http://msdn.microsoft.com/ru-ru/libr...vs.110%29.aspx
Т.е. вырезать из общей картинки часть, представляющую очередную пиктограмму.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу загрузить картинку в ImageList АлМазСофт Компоненты Delphi 11 22.08.2013 16:51
Загрузить библиотеку в внешний процесс - только инжект? calypso Win Api 15 27.02.2013 17:37
ImageList програмно загрузить и сохранить ArtGrek Компоненты Delphi 6 28.12.2010 14:44
загрузить из imagelist иконку окна Человек_Борща Общие вопросы Delphi 1 14.11.2010 14:06
загрузить в компонент imagelist 3 рисунка, а потом по очереди выводить их Stanislav Компоненты Delphi 2 25.11.2007 01:43