|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
Привет всем. такая задача : Хочу загружать в Image файлы (картинки). Они должны где-нибудь храниться в какой-нибудь папке, но я не хочу чтобы обычный пользователь получил к ним доступ (когда будет лазить по этим папкам), а только через мою программу. Такая технология используется , например, в играх. Когда все файлы группируются в один и со своим непонятным форматом. Как сделать что-нибудь похожее? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2013, 18:41 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
Дальше сам. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
ЗЫ: WPF тут не причем. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2013, 20:19 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
Абсолют, Спс, на днях потестю. просто прогу делаю на WPF, поэтому не знаю, вдруг там есть свои заморочки ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2013, 21:50 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
Использовать BinaryFormatter/Stream будет иметь смысл, если Stream, скажем, криптованный. Для обычного складывания ресурсов в одну сборку достаточно просто добавить файл в проект ресурсной сборки, и в свойствах указать Build Action = Resource. И к таким ресурсам можно будет напрямую обращаться из разметки в других сборках по uri этих ресурсов. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2013, 12:08 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
Абсолют, небольшая проблема. облазил гугл. не нашёл свою ошибку и решение её. В общем получилось так: IList<BitmapImage> images = new List<BitmapImage>(); images.Add(new BitmapImage(new Uri("00", UriKind.Relative))); images.Add(new BitmapImage(new Uri("01", UriKind.Relative))); images.Add(new BitmapImage(new Uri("02", UriKind.Relative))); FileStream stream = new FileStream(@"D:\труляля\serialize.bin", FileMode.Create, FileAccess.Write); BinaryFormatter binaryFormatter = new BinaryFormatter(); binaryFormatter.Serialize(stream, images); // ошибка тут :( stream.Close(); MessageBox.Show("Получилось"); При чём никакого сообщения об ошибке я не получаю. Процесс сериализации просто останавливается. Вот и тут так же. public void To_Bottom_Image() { images.Add(new BitmapImage(new Uri("00", UriKind.Relative))); images.Add(new BitmapImage(new Uri("01", UriKind.Relative))); images.Add(new BitmapImage(new Uri("02", UriKind.Relative))); Save(images, @"D:\труляля\пандачко.bin"); } protected static void Save(IList<BitmapImage> images, string fileName) { try { using (Stream stream = File.Open(fileName, FileMode.Append)) { BinaryFormatter bin = new BinaryFormatter(); bin.Serialize(stream, images); // Та же самая ошибка } } catch (IOException ex) { MessageBox.Show("Ошибка " + ex);// не показывается почему то всё равно } } ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 16:08 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
Может быть я неправильно делаю ILIST изображений? Кто знает как можно по другому запихнуть в список несколько изображений? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 11:33 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
IRagnarok, В играх довольно часто используются банальные ZIP-файлы с минимальным уровнем компрессии и нестандартным расширением самого файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 13:06 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
Нахлобуч, Понимаю, сам так делал (архивировал и менял название расширения), но меня такой вариант не устроит( ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 15:47 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
IRagnarokНахлобуч, Понимаю, сам так делал (архивировал и менял название расширения), но меня такой вариант не устроит( Так чем всё же не устраивает 15073885 ? Формат там достаточно специфичный, просто архиватором вытащить не получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 16:03 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, У меня задача создать программу, которая бы распаковывалась с отдельными папками и файлами настроек. При чём в папке бы хранились несколько файлов(куда архивируются/кодируются больше 1 изображения). При обращении к определённому классу, он бы открывал нужный файл и вытаскивал оттуда все(Нужные для него) изображения. Сейчас же я добавляю в класс существующий элемент и могу выбирать из элементов изображения. (я так понимаю я таким образом их и добавляю в файл ресурсов?) "класс"-"добавить"-"существующий элемент..." Но если так, то все файлы будут храниться в одном exe и он будет разрастаться до бесконечности? Можете мне примерно показать как это работает, я буду благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 17:33 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
IRagnarokНахлобуч, Понимаю, сам так делал (архивировал и менял название расширения), но меня такой вариант не устроит( Можно заморочиться со Structured Storage . ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 19:25 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
IRagnarok, все же элементарно: использование в коде основного приложения (на скрине - окошко с веселым роджером): Код: xml 1. 2. 3. 4. 5. 6. 7.
Таких ImageLib можно наделать сколько угодно, ресурсов (картинок) в них может быть сколько угодно, ресурсы можно нужным образом структурировать по папкам-подпапкам. Всё это хозяйство, завернутое в соответствующие dll (которые могут вообще не содержать классов), будет лежать рядом с экзешником в папке программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 19:28 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Спасибо, сегодня потестю ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 10:20 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
Нахлобуч, что-то там жёстко))) пожалуй откажусь пока ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 10:22 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Делаю всё тоже самое, но не вижу, чтобы создавалось отдельных Dll файлов. При компиляции всё заносится в один exe файл. Прилагаю изображение ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 12:15 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
IRagnarokДелаю всё тоже самое, но не вижу, чтобы создавалось отдельных Dll файлов. При компиляции всё заносится в один exe файл. Нет, не то же самое. У меня в солюшене 2 проекта, один - собственно приложение (exe), второй - class library (dll) с рисунками. У вас в солюшене один проект - приложение. Смотрите внимательней. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 13:59 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Сделал так. Добавить-создать проект- библиотека классов(Название "Resourse"). всё равно не видит картинку(((( ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 14:51 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
IRagnarokСон Веры Павловны, Сделал так. Добавить-создать проект- библиотека классов(Название "Resourse"). всё равно не видит картинку(((( Референс на библиотеку с картинками в основном приложении есть? Если да - приведите путь к рисунку к тому виду, какой указан у меня в коде выше (/assembly_name;component/folder1/.../folder_n/image.png). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 14:57 |
|
Создание своего файла ресурсов? как запихнуть все файлы в один?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Спасибо, добивил в референсы(раньше я вообще не знал, что это такое), заработало. И вопрос напоследок. Хочу поменять картинку из другого класса(в этом же проекте). Делаю так: MainWindow m = new MainWindow(); m.ImageMain.Source = new BitmapImage(new Uri("/Resourse;component/Come/00.png", UriKind.Relative)); Создаю новое главное окно и пытаюсь поменять Source картинки в этом окне (в WinForms прокатывало вроде), здесь не получается. Видимо, изображение меняется не в настоящем главном окне, а виртуально созданном. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 15:36 |
|
|
start [/forum/topic.php?fid=21&msg=38468781&tid=1441246]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
144ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 250ms |
0 / 0 |