Добавить картинку в файл ресурсов
Можно создать новый рисунок, точечный рисунок, значок, курсор или панель инструментов, а затем использовать Редактор изображений для настройки внешнего вида. Можно также создать новое растровое изображение, созданное после шаблона ресурса.
Ресурсы в формате текстовых файлов
В текстовых файлах (TXT или RESTEXT) можно сохранять только строковые ресурсы. Для нестроковых ресурсов используйте RESX-файлы или создавайте их программными средствами. Текстовые файлы, содержащие строковые ресурсы, имеют следующий формат.
Форматы TXT- и RESTEXT-файлов ресурсов идентичны. Расширение файла RESTEX служит для того, чтобы текстовые файлы сразу опознавались как файлы ресурсов на основе текста.
Строковые ресурсы представляются в виде пар имя/значение, где имя — строка, определяющая ресурс, а значение — строка ресурса, которая возвращается при передаче имени методу извлечения ресурсов, например, ResourceManager.GetString. Имя и значение должны быть разделены знаком равенства (=). Пример:
Не следует использовать файлы ресурсов для хранения паролей, конфиденциальной информации или личных данных.
В текстовых файлах допускаются пустые строки (то есть, ресурсы, значение которых равно String.Empty). Пример:
Любые пустые строки в текстовых файлах считаются содержащими пробелы и игнорируются.
В следующем примере определяются два строковых ресурса с именами OKButton и CancelButton .
Если в текстовом файле содержатся дубликаты имен, генератор файлов ресурсов (resgen.exe) отображает предупреждение и игнорирует второе имя.
значение не может содержать символы новой строки, но можно использовать escape-символы в стиле языка C, например \n для представления новой строки и \t для представления вкладки. Можно также включить символ обратной косой черты, если он экранирован (например, "\ \"). Также допускаются пустые строки.
Сохраняйте ресурсы в формате текстового файла с кодировкой UTF-8 или UTF-16 с прямым или обратным порядком байтов. Но генератор файлов ресурсов (resgen.exe), преобразующий TXT-файл в RESOURCES-файл, по умолчанию обрабатывает файлы в кодировке UTF-8. Если вы хотите, чтобы программа Resgen.exe могла работать с файлом в кодировке UTF-16, необходимо указать метку порядка байтов Юникода (U+FEFF) в начале файла.
В следующем примере используется файл ресурсов в текстовом формате GreetingResources.txt для простого консольного приложения "Hello World". В этом текстовом файле определены две строки — prompt и greeting , которые предлагают пользователю ввести свое имя и отображают приветствие.
Текстовый файл преобразуется в RESOURCES-файл с помощью следующей команды:
Если вы используете Visual Basic и файл с исходным кодом называется Greeting.vb, используйте следующую команду для создания исполняемого файла, содержащего внедренный RESOURCES-файл:
Использовать палитру 256-Color
При использовании редактора изображенийзначки и курсоры могут иметь большой размер (64 × 64) с палитрой типа «256-Color». После создания ресурса выбирается стиль изображения устройства.
Создание значка или курсора 256-цвета
В представление ресурсовщелкните правой кнопкой мыши RC -файл и выберите пункт Вставить ресурс. Если у вас уже есть ресурс изображения в RC -файле, например курсор, щелкните правой кнопкой мыши папку курсор и выберите команду Вставить курсор.
В диалоговом окне Вставка ресурсавыберите значок или курсор и нажмите кнопку создать.
Последовательно выберите пункты меню изображение>создать изображение устройства и выбор стиля изображения 256-Color.
Выбор цвета из 256-цветовой палитры для крупных значков
Чтобы нарисовать выделенный фрагмент из 256-цветовой палитры, необходимо выбрать цвета в палитре цвета в окне цвета.
Выберите крупный значок или курсор или создайте новый крупный значок или курсор.
Выберите цвет из цвета 256, отображаемых в палитре цвета в окне цвета .
Выбранный цвет станет текущим цветом в палитре цвета в окне цвета .
начальная палитра, используемая для изображений 256-color, соответствует палитре, возвращаемой CreateHalftonePalette Windows API. все значки, предназначенные для оболочки Windows, должны использовать эту палитру для предотвращения мерцания во время реализации палитры.
Создание прозрачных или инвертированных областей в образах устройств
В редакторе изображенийисходный значок или изображение курсора имеет прозрачный атрибут. Хотя изображения значков и курсоров прямоугольные, многие не появляются, так как части изображения прозрачны, а базовое изображение на экране отображается с помощью значка или курсора. При перетаскивании значка части изображения могут отображаться в инвертированном цвете. Этот результат создается путем настройки цвета экрана и инвертированного цвета в окне цвета.
Экран и Инвертированные цвета, применяемые к значкам и курсорам, изменяют производное изображение или присваивают им регионы. Цвета указывают на части изображения, имеющие эти атрибуты. Цвета, представляющие атрибуты цвета экрана и инвертированного цвета, можно изменить при редактировании. Эти изменения не влияют на внешний вид значка или курсора в приложении.
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска. чтобы изменить параметры, последовательно выберите пункты меню>импорт и экспорт Параметры. Дополнительные сведения см. в разделе Персонализация интегрированной среды разработки Visual Studio.
Создание прозрачных или инвертированных областей
В окне цвета выберите Цвет экрана Selector или Инверсный цвет.
Примените экран или инвертированный цвет к изображению с помощью инструмента рисования. Дополнительные сведения о средствах рисования см. в разделе Использование инструмента рисования.
Изменение экрана или инвертированного цвета
Выберите селектор цвета экрана или селектор инвертированного цвета .
Выберите цвет из палитры цвета в окне цвета .
Дополнительный цвет автоматически назначается для другого селектора.
Если дважды щелкнуть селектор " Цвет экрана " или " инвертированный цвет ", откроется диалоговое окно Селектор пользовательских цветов .
Загрузка изображения для конкретного языка или другого контекста
Дополнительные сведения о преимуществах локализации приложений см. в разделе Глобализация и локализация.
По умолчанию ResourceContext (полученный из ResourceContext.GetForCurrentView) содержит значение квалификатора для каждого имени квалификатора, представляя контекст среды выполнения по умолчанию (другими словами, параметры для текущего пользователя и компьютера). Файлы изображений сопоставляются (на основе квалификаторов в их именах) со значениями квалификатора в этом контексте среды выполнения.
Но в некоторых ситуациях вашему приложению требуется переопределить параметры системы и явно задать использование языка, масштаба или другого значения квалификатора при поиске подходящего изображения для загрузки. Например, может потребоваться точное управление загрузкой определенных высококонтрастных изображений.
Это можно сделать, создав новый ResourceContext (вместо используемого по умолчанию) и переопределив его значения, а затем использовать этот объект контекста при поиске изображения.
Для обеспечения того же эффекта на глобальном уровне можно переопределить значения квалификатора в ResourceContext по умолчанию. Но вместо этого рекомендуется вызвать ResourceContext.SetGlobalQualifierValue. Следует задать значения один раз с помощью вызова SetGlobalQualifierValue и затем эти значения всегда используются в ResourceContext по умолчанию для поиска. По умолчанию класс ResourceManager использует ResourceContext по умолчанию.
Ссылки на изображения и другие ресурсы из кода и разметки XAML
Имя (или идентификатор) ресурса образа — это его путь и имя файла с любым и всеми квалификаторами, удаленными. Если вы назовете папки или файлы как в любом из примеров в предыдущем разделе, у вас будет один ресурс изображений, а его имя (как абсолютный путь) будет /Assets/Images/logo.jpg . Вот как использовать это имя в разметке XAML.
Обратите внимание, что вы используете схему URI ms-appx , так как ссылаетесь на файл, который поступает из пакета приложения. См. раздел Схемы URI. А вот как добавить ссылку на тот же ресурс изображения в императивный код.
Можно использовать ms-appx для загрузки любого произвольного файла из пакета приложения.
Схема ms-appx-web обращается к тем же файлам, что и ms-appx , но в разделе web.
Для любых сценариев, показанных в этих примерах, используйте перегрузку конструктора Uri, которая выводит UriKind. Укажите допустимый абсолютный URI, включая схему и полномочия, или просто оставьте для полномочий значение по умолчанию для пакета приложения, как показано в примере выше.
Обратите внимание, как в кодах URI в этом примере за схемой ( ms-appx или ms-appx-web ) следует :// , а далее указан абсолютный путь. В абсолютном пути начальный символ / обеспечивает его интерпретацию из корневого каталога пакета.
Абсолютные пути удобны, если файлы изображений остаются там, где они находятся в структуре проекта. Если вы хотите иметь возможность перемещать файл изображения, но следите за тем, чтобы он оставался в том же расположении относительно ссылающегося на него файла разметки XAML, то вместо абсолютного пути вам может потребоваться использовать путь, который задается относительно файла, содержащего разметку. Если применяется такой способ, использовать схему URI не требуется. В этом случае вы по-прежнему сможете использовать преимущества автоматического сопоставления квалификаторов, но только потому, что используете относительный путь в разметке XAML.
Преобразование изображения из одного формата в другой
Вы можете открывать изображения в формате GIF или JPEG в редакторе изображений и сохранять их в виде растровых изображений. Кроме того, можно открыть файл точечного рисунка и сохранить его в формате GIF или JPEG. Изображения, с которыми вы работаете, не должны быть частью проекта для редактирования в среде разработки (см. раздел Редактирование автономных образов).
Откройте изображение в редакторе изображений.
Последовательно выберите файл> менюСохранить имя файла как.
В диалоговом окне сохранить файл как в поле имя файла введите имя файла и расширение, которое обозначает нужный формат.
Щелкните Сохранить.
Ресурсы в RESX-файлах
В отличие от текстовых файлов, в которых могут храниться только строковые ресурсы, в XML-файлах ресурсов (RESX) могут храниться строки, двоичные данные (такие как изображения, значки и аудиоклипы) и программные объекты. RESX-файл содержит стандартный заголовок, который описывает формат записей ресурсов и включает сведения о версии XML, которые используются для анализа данных. За заголовком XML следуют данные в файле ресурсов. Каждый элемент данных состоит из пары "имя-значение", заключенной в тег data . Атрибут name этого тега определяет имя ресурса, а вложенный тег value содержит значение ресурса. Для строковых данных тег value содержит строку.
Например, следующий тег data определяет строковый ресурс с именем prompt и значением "Enter your name:".
Не следует использовать файлы ресурсов для хранения паролей, конфиденциальной информации или личных данных.
Для объектов ресурсов тег data содержит атрибут type , указывающий тип данных ресурса. Для объектов, состоящих из двоичных данных, тег data также включает атрибут mimetype , который указывает тип base64 двоичных данных.
Во всех RESX-файлах для создания и анализа двоичных данных заданного типа используется форматтер двоичной сериализации. В результате, если формат двоичной сериализации для объекта изменится недопустимым образом, RESX-файл может стать недействительным.
В следующем примере показана часть RESX-файла, в которой содержится ресурс Int32 и растровое изображение.
Так как RESX-файлы должны представлять собой XML-код с правильным, заранее определенным форматом, с ними не рекомендуется работать вручную, особенно если они содержат нестроковые ресурсы. Вместо этого в Visual Studio предусмотрен прозрачный интерфейс для создания RESX-файлов и управления ими. Дополнительные сведения см. в разделе Файлы ресурсов в Visual Studio. Создавать RESX-файлы и управлять ими можно также программно. Дополнительные сведения см. в разделе Работа с RESX-файлами программным способом.
Добавление изображения для другого устройства вывода
Перейдите в меню изображение>создать изображение устройстваили щелкните правой кнопкой мыши в области редактора изображений и выберите пункт создать изображение устройства.
Выберите тип образа, который требуется добавить. Можно также выбрать Пользовательский , чтобы создать значок, размер которого недоступен в списке по умолчанию.
Создание и сохранение растрового изображения в формате .jpg или JPEG
При создании точечного рисунка изображение создается в формате точечного рисунка (.bmp). Однако можно сохранить изображение в формате GIF или JPEG или в других графических форматах.
Этот процесс не применяется к значкам и курсорам.
Перейдите в меню файл>Открыть, а затем выберите файл.
В диалоговом окне новый файлвыберите папку Visual C++ , а затем в поле шаблоны выберите файл точечного рисунка (.bmp) и нажмите кнопку Открыть.
Точечный рисунок откроется в редакторе изображений.
Внесите необходимые изменения в новый точечный рисунок.
Если растровое изображение все еще открыто в редакторе изображений, последовательно выберите пункты файл> менюСохранить имя файла.bmp как.
В диалоговом окне сохранить файл как введите имя, которое нужно присвоить файлу, и расширение, которое обозначает необходимый формат файла в поле имя файла . Например, myfile.jpg.
Необходимо создать или открыть точечный рисунок вне проекта, чтобы сохранить его как файл другого формата. Если создать или открыть его в проекте, команда Сохранить как будет недоступна. дополнительные сведения см. в разделе просмотр ресурсов в файле скрипта ресурсов за пределами Project (автономный).
Щелкните Сохранить.
Добавление нового ресурса изображения в неуправляемый проект C++
В представление ресурсовщелкните правой кнопкой мыши RC -файл и выберите пункт Вставить ресурс. Если у вас уже есть ресурс изображения в RC -файле, например курсор, можно просто щелкнуть правой кнопкой мыши папку курсора и выбрать пункт Вставить курсор.
В диалоговом окне Вставка ресурсавыберите тип ресурса изображения, который вы хотите создать (например,точечный рисунок), а затем нажмите кнопку создать.
Если рядом с типом ресурса Image в диалоговом окне Вставка ресурса отображается знак «плюс» ( + ), это означает, что доступны шаблоны панели инструментов. Щелкните знак «плюс», чтобы развернуть список шаблонов, выберите шаблон и нажмите кнопку создать.
в Обозреватель решенийщелкните правой кнопкой мыши папку проекта (например, WindowsApplication1).
В контекстном меню выберите Добавить, а затем выберите Добавить новый элемент.
в области категории разверните папку локальные Project элементы , а затем выберите ресурсы.
В области шаблоны выберите тип ресурса, который вы хотите добавить в проект.
ресурс будет добавлен в проект в Обозреватель решений , а ресурс откроется в редакторе изображений. Теперь для изменения образа можно использовать все средства, доступные в редакторе изображений . Дополнительные сведения о добавлении изображений в управляемый проект см. в разделе Загрузка изображения во время разработки.
Но там так и не сказали как же мне добавить в этот создаваемый файл файл ресурсов (картинку.)
Ну и как мне указать иконку для этого билда ?
Скажу сразу , гуглил ! но видимо я не умею гуглом пользоваться
Иконка не важна а вот как добавить картинку в ресурсы очень интересно
Так как постоянно таскать её за билдом как минимум не удобно
Как программно добавить картинку в ресурсы?
Добрый день. 1) Как программно, добавить картинку в ресурсы и сделать так, что если запускают.
Как добавить string в ресурсы? (консольное приложение)
Нужно чтобы вводимые во время выполнения программы данные сохранялись в программе, а не в текстовом.
Как добавить ресурсы в сборку на C++ для WinAPI?
как добавить ресурсы в сборку на c++ для winapi? Смотрю в статьях, в книжках, везде описано для.
DeiTy, начни с получения текста файла ресурсов. Для этого добавь в свой проект resx файл, добавь в него все необходимые ресурсы, для не-строковых ресурсов поставь параметр "Emdedded in .resx". Таким образом в resx файле который является текстовым файлов в формате XML будет все ресурсы с их содержимым. Текст этого файла нужно добавить в ресурсы своего приложения. Назовем его например res.resources.txt.
Далее нам нужен код чтения из ресурсов. Он находится в файле Designer.cs. Возьми его его и скопируй в файл res.txt где находится остальной исходный код. Затем найди в коде место где создается ResourceManager и замени его аргумент на имя выходной сборки. После этого можно написать код в res.txt (внутри кода формы) который работает с ресурсами.
Финальный шаг - компиляция. Добавляем чтение ресурса с именем res.resources.txt и сохраняем на диск в папку для временных файлов. В экземпляре CompilerParameters заполняем свойство EmbeddedResources. После компиляции можно удалить файл их временной папки т.к. он уже не нужен.
добавлять картинку к примеру, чтобы она вместе(внутри) с проектом таскалась.
Ручное добавление ресурса в файл ресурсов проекта:
Тогда кликаем дважды по Resources.resx(этот файл создается автоматически в Windows Form Приложениях и некоторых других) далее смотрим на картинку
0 - Дважды кликнув по Resources.resx( если еще не кликнули )
1 - Выбираем "Изображения"(изначально "Строки")
2 - Выбираем в добавить ресурс "Добавить существующий файл"
3 - Появляется ресурс, который можно вызвать например так
Создайте текстовый файл, содержащий строковые ресурсы. Для преобразования текстового файла в двоичный файл ресурсов (RESOURCES-файл) можно использовать генератор файлов ресурсов (resgen.exe). Затем двоичный файл ресурсов можно внедрить в исполняемый файл приложения или библиотеку приложения с помощью компилятора языка или во вспомогательную сборку с помощью компоновщика сборок (Al.exe). Дополнительные сведения см. в разделе Ресурсы в текстовых файлах.
Создайте XML-файл ресурсов (RESX-файл), который содержит строки, изображения или данные объектов. Для преобразования RESX-файла в двоичный файл ресурсов (RESOURCES-файл) можно использовать генератор файлов ресурсов (resgen.exe). Затем двоичный файл ресурсов можно внедрить в исполняемый файл приложения или библиотеку приложения с помощью компилятора языка или во вспомогательную сборку с помощью компоновщика сборок (Al.exe). Дополнительные сведения см. в разделе Ресурсы в RESX-файлах.
Создайте XML-файл ресурсов (RESX-файл) программным способом с помощью типов в пространстве имен System.Resources. Можно создать RESX-файл, перечислить его ресурсы и извлечь конкретные ресурсы по имени. Дополнительные сведения см. в разделе Работа с RESX-файлами программным способом.
Создайте двоичный файл ресурсов (RESOURCES-файл) программным способом. Затем этот файл можно внедрить в исполняемый файл приложения или библиотеку приложения с помощью компилятора языка или во вспомогательную сборку с помощью компоновщика сборок (Al.exe). Дополнительные сведения см. в разделе Ресурсы в RESOURCES-файлах.
Создайте файл ресурсов в Visual Studio и включите этот файл в проект. В Visual Studio есть редактор ресурсов,с помощью которого можно добавлять, удалять и изменять ресурсы. Во время компиляции файл ресурсов автоматически преобразуется в двоичный RESOURCES-файл и внедряется в сборку приложения или вспомогательную сборку. Дополнительные сведения см. в разделе Файлы ресурсов в Visual Studio.
Ресурсы в RESOURCES-файлах
Для программного создания двоичного файла ресурсов (RESOURCES-файла) непосредственно из кода можно использовать класс System.Resources.ResourceWriter. Для создания RESOURCES-файла из текстового файла или RESX-файла можно также использовать генератор файлов ресурсов (resgen.exe). Помимо строковых данных, RESOURCES-файл может содержать двоичные данные (массивы байтов) и данные объектов. Для программного создания RESOURCES-файла необходимо выполнить следующие действия.
Создайте объект ResourceWriter с уникальным именем файла. Это можно сделать, указав имя файла или файловый поток для конструктора класса ResourceWriter.
Вызовите одну из перегрузок метода ResourceWriter.AddResource для каждого именованного ресурса, который требуется добавить в файл. Ресурсом может быть строка, объект или коллекция двоичных данных (массив байтов).
Вызовете метод ResourceWriter.Close, чтобы записать ресурсы в файл и закрыть объект ResourceWriter.
Не следует использовать файлы ресурсов для хранения паролей, конфиденциальной информации или личных данных.
В следующем примере программным способом создается RESOURCES-файл с именем CarResources.resources, в котором хранятся шесть строк, значок и два объекта, определяемые приложением (два объекта Automobile ). Класс Automobile , определенный и созданный в этом примере, отмечен атрибутом SerializableAttribute, который позволяет ему сохраняться модулем форматирования при двоичной сериализации.
После создания RESOURCES-файла его можно внедрить в исполняемый файл среды выполнения или библиотеку, используя параметр /resource компилятора языка, или во вспомогательную сборку с помощью компоновщик сборок (Al.exe).
Создание образа устройства (значок или курсор)
При создании нового ресурса или значка курсора Редактор изображений сначала создает изображение в определенном стиле (32 × 32, 16 цветов для значков и 32 x 32, монохромный для курсоров). Затем можно добавлять изображения различных размеров и стилей к начальному значку или курсору и при необходимости редактировать каждое дополнительное изображение для различных устройств вывода. Можно также изменить изображение с помощью операции вырезания и вставки из существующего типа изображения или из растрового изображения, созданного в графической программе.
При открытии значка или ресурса курсора в редакторе изображенийизображение, наиболее близко соответствующее текущему устройству вывода, открывается по умолчанию.
Если в проекте еще нет RC-файла, см. раздел Создание нового файла описания ресурсов.
Диалоговое окно Создание позволяет создать новый образ устройства указанного типа. Чтобы открыть диалоговое окно " Создание ", последовательно выберите пункты изображение>создать типизображения. Включены следующие свойства: тип целевого образа и Пользовательский.
В свойстве тип целевого образа перечислены доступные типы изображений, в которых выбирается тип образа, который нужно открыть:
16 x 16, 16 цветов
32 x 32, 16 цветов
48 x 48, 16 цветов
64 x 64, 16 цветов
96 x 96, 16 цветов
16 x 16, 256 цветов
32 x 32, 256 цветов
48 x 48, 256 цветов
64 x 64, 256 цветов
96 x 96, 256 цветов
16 x 16, монохромная
32 x 32, монохромная
48 x 48, монохромная
64 x 64, монохромная
96 x 96, монохромная
Все существующие образы не будут отображаться в этом списке.
Пользовательское свойство открывает диалоговое окно пользовательский образ , в котором можно создать новый образ с пользовательским размером и числом цветов.
Диалоговое окно пользовательский образ позволяет создать новый образ с пользовательским размером и числом цветов. Включены следующие свойства:
Свойство | Описание |
---|---|
Width | Место для ввода ширины пользовательского изображения в пикселях (1-512, максимум 2048). |
Height | Место для ввода высоты пользовательского изображения в пикселях (1-512, ограничение в 2048). |
Цвета | Поле для выбора количества цветов для пользовательского образа: 2, 16 или 256. |
Диалоговое окно Открытие используется для открытия образов устройств в проектах C++. В нем перечислены существующие образы устройств в текущем ресурсе (изображения, которые являются частью текущего ресурса). Включается следующее свойство:
Свойство | Описание |
---|---|
Текущие образы | Список изображений, содержащихся в ресурсе. Выберите тип образа, который необходимо открыть. |
Создание нового значка или курсора
В представление ресурсовщелкните правой кнопкой мыши RC -файл и выберите пункт Вставить ресурс. Если у вас уже есть ресурс изображения в RC -файле, например курсор, щелкните правой кнопкой мыши папку курсор и выберите команду Вставить курсор.
В диалоговом окне Вставка ресурсавыберите значок или курсор и нажмите кнопку создать. Для значков это действие создает ресурс значка с размером 32 × 32, 16-цветным значком. Для курсоров создается изображение размером 32 × 32, монохромное (2-цветное).
Если рядом с типом ресурса Image в диалоговом окне Вставка ресурса отображается знак «плюс» ( + ), это означает, что доступны шаблоны панели инструментов. Щелкните знак «плюс», чтобы развернуть список шаблонов, выберите шаблон и нажмите кнопку создать.
Квалификация ресурса изображения по targetsize
Можно использовать квалификаторы scale и targetsize для различных вариантов одного ресурса изображения, но нельзя использовать оба этих квалификатора для одного варианта ресурса. Также необходимо задать хотя бы один вариант без квалификатора TargetSize . Этот вариант должен либо определять значение для scale , либо разрешать использовать по умолчанию scale-100 . Таким образом, эти два варианта ресурса /Assets/Square44x44Logo.jpg являются допустимыми.
И эти два варианта допустимы.
Но этот вариант недопустим.
Обновление изображений в качестве реакции на события изменения значений квалификаторов
Запущенное приложение может реагировать на изменения в параметрах системы, которые влияют на значения квалификаторов в контексте ресурсов по умолчанию. Любой из этих параметров системы вызывает событие MapChanged на ResourceContext.QualifierValues.
В ответ на это событие можно снова загрузить изображения с помощью ResourceContext по умолчанию, который ResourceManager использует по умолчанию.
Внедрил три текстовых файла в проект. Думал они все время будут в проекте, однако они ссылаются на файлы в папке debug, что не есть хорошо, так как если этих файлов нет на диске - то и при компиляции возникают ошибки.
они ссылаются на файлы которые есть физически на компьютере. А мне нужно чтобы они были внедрены в сам проект.\
Как я понял, он хочет, что бы файлы были вшиты в программу и на стороне клиента не было в них нужны. @Grundy, а как ты ссылаешь на файле в коде? Мне казалось, что VS по умолчанию их в код зашивает.
Файлы ресурсов в Visual Studio
При добавлении файла ресурсов в проект Visual Studio среда Visual Studio создает RESX-файл в каталоге проекта. В Visual Studio имеются редакторы ресурсов, позволяющие добавлять строки, изображения и двоичные объекты. Так как редакторы предназначены для обработки только статических данных, их нельзя использовать для хранения программных объектов; данные объектов необходимо записывать в RESX- или RESOURCES-файл программным способом. Дополнительные сведения см. в статье Работа с RESX-файлами программным способом и разделе Ресурсы в RESOURCES-файлах.
При добавлении локализованных ресурсов указывайте для них то же имя корневого файла, что и для основного файла ресурсов. Также в имени файла необходимо указать язык и региональные параметры. Например, если добавить файл ресурсов Resources. resx, можно также создать файлы ресурсов с именами Resources. en-US. resx и Resources.fr-FR. resx для хранения локализованных ресурсов для языков и региональных параметров "Английский (США)" и "французский (Франция)" соответственно. Следует также указать язык и региональные параметры по умолчанию для приложения. Это язык и региональные параметры, ресурсы которых используются в том случае, если для конкретного языка и региональных параметров никаких локализованных ресурсов обнаружить не удается.
чтобы указать язык и региональные параметры по умолчанию, в Обозреватель решений в Visual Studio:
- Откройте свойства проекта, щелкните проект правой кнопкой мыши и выберите Свойства (или нажмите клавишу Alt + Ввод при выборе проекта).
- Перейдите на вкладку Package (Пакет).
- В области Общие выберите соответствующий язык и региональные параметры из элемента управления нейтрального языка сборки .
- Сохраните изменения.
Во время компиляции среда Visual Studio сначала преобразует RESX-файлы проекта в двоичные файлы ресурсов (RESOURCES) и сохраняет их в подкаталоге каталога obj проекта. Visual Studio внедряет любые файлы ресурсов, не содержащие локализованные ресурсы, в основную сборку, созданную проектом. Если в каких-либо файлах ресурсов есть локализованные ресурсы, Visual Studio внедряет их в отдельные вспомогательные сборки для каждого локализованного языка и региональных параметров. Затем Visual Studio сохраняет каждую вспомогательную сборку в каталоге, имя которого соответствует локализованному языку и региональным параметрам. Например, локализованные ресурсы английского языка (США) сохраняются во вспомогательной сборке в подкаталоге en-US.
Приложение может загружать файлы ресурсов изображений (или другие файлы ресурсов), адаптированные по контексту коэффициента масштабирования дисплея, темы, высокой контрастности и другим аспектам. На эти изображения можно ссылаться из императивного кода или разметки XAML, например в виде свойства Source объекта Image. Они также могут отображаться в исходном файле манифеста пакета приложения ( Package.appxmanifest файл), например в качестве значения значка приложения на вкладке "Визуальные ресурсы" конструктора манифестов Visual Studio или на плитках и всплываемых уведомлениях. Используя квалификаторы в именах файлов изображений при необходимости динамической их загрузке с помощью ResourceContext, можно обеспечить загрузку наиболее подходящего файла изображения, который наилучшим образом соответствует параметрам среды выполнения пользователя для масштабирования дисплея, темы, высокой контрастности, языку и другим аспектам.
Ресурс изображения содержится в файле ресурсов изображений. Также можно представить себе изображение в качестве ресурса, а содержащий его файл — в качестве файла ресурса; и эти файлы ресурсов находятся в папке \Assets вашего проекта. Общие сведения об использовании квалификаторов в именах файлов ресурсов изображений приводятся в разделе Адаптация ресурсов для языка, масштаба и других квалификаторов.
Вот некоторые распространенные квалификаторы изображений: scale, theme, contrast и targetsize.
1 ответ 1
Для добавления ресурсов в проект необходимо щелкнуть правой кнопкой мыши узел Свойства в проекте в Обозревателе решений, щелкнуть Открыть, а затем на странице Ресурсы в Конструкторе проектов нажать кнопку Добавить ресурс. Ресурсы можно добавить в проект в качестве связанных ресурсов (внешние файлы) или как внедренные ресурсы (внедренные непосредственно в файл RESX).
- При добавлении связанного ресурса в файле RESX со сведениями о ресурсах проекта будет указан только относительный путь на файл ресурса на диске. Если в качестве связанных ресурсов добавить изображения, видео или другие сложные файлы, их можно будет изменять в редакторе по умолчанию, сопоставленном с соответствующим типом файла в конструкторе ресурсов.
- В случае внедренных ресурсов, данные хранятся непосредственно в файле ресурсов проекта (RESX). Строки могут храниться только как внедренные ресурсы.
После добавления файлов в ресурсы, добавленные файлы помещаются в папку Resources, находящуюся в корне проекта.
Также можно задать действие при построении:
- None — файл не включается в выходную группу проекта и не компилируется в процессе построения. Примером такого файла является текстовый файл документации, например файл Readme.
- Compile — файл компилируется в выходные файлы построения. Эта настройка используется для файлов кода.
- Content — файл не компилируется, но включается в выходную группу "Содержимое". Этот вариант используется по умолчанию для файлов HTM и других веб-файлов.
- Embedded Resource — файл внедряется в основные выходные файлы построения проекта в виде DLL или исполняемого файла. Обычно это значение используется для файлов ресурсов.
Для задания свойства Действие при построении ( Build Action ) или свойства Копировать в выходной каталог( Copy to Output Directory ) необходимо зайти в свойства у файла ресурсов и изменить необходимое свойство.
Собственно говоря, Вас интересует свойство Действие при построении ( Build Action ) - которое необходимо указать под Ваши нужды.
Ссылка на файл изображения из манифеста пакета приложения
Если вы назовете папки или файлы как в любом из двух допустимых примеров в предыдущем разделе, у вас будет один ресурс изображения со значком приложения, а его имя (как относительный путь) будет Assets\Square44x44Logo.jpg . В манифесте пакета приложения просто приведите ссылку на ресурс по имени. Нет необходимости использовать какую-либо схему URI.
Это все, что необходимо сделать, и операционная система будет выполнять автоматическое сопоставление квалификаторов для поиска ресурса, который больше всего подходит текущему контексту. Список всех элементов в манифесте пакета приложения, которые можно локализовать или иначе квалифицировать таким образом, см. в разделе Локализуемые элементы манифеста.
Копирование образа устройства
Последовательно выберите пункты изображение>Открыть изображение устройства и выберите изображение из списка текущие изображения. Например, выберите версию значка 32 × 32, 16 цветов.
Копировать отображаемое в данный момент изображение значка (CTRL+C).
Откройте другое изображение значка в другом окне редактора изображений . Например, откройте 16-цветную версию значка.
Вставьте изображение значка (CTRL+V) из одного окна редактора изображений в другое. При копировании большего размера в меньший размер можно использовать маркеры значков для изменения размера изображения.
Значки и курсоры: ресурсы изображений для устройств отображения
Значки и курсоры представляют собой графические ресурсы, которые могут состоять из нескольких изображений разных размеров, использующих разные цветовые схемы, в зависимости от типа устройства отображения. курсор также имеет активную точку, расположение Windows, используемое для слежения за его положением. Значки и курсоры создаются и редактируются с помощью редактора изображений, как и точечные рисунки и другие изображения.
При создании нового значка или курсора Редактор изображений сначала создает изображение стандартного типа. Это изображение сначала заполняется цветом экрана (прозрачным). Если изображение является курсором, активная разкраска изначально находится в левом верхнем углу с координатами 0,0 .
По умолчанию Редактор изображений поддерживает создание дополнительных образов для устройств, показанных в следующей таблице. Вы можете создавать изображения для других устройств, вводя параметры ширины, высоты и подсчета цветов в диалоговое окно пользовательский образ .
Цвет | Ширина (в пикселях) | Высота (в пикселях) |
---|---|---|
Монохромный | 16 | 16 |
Монохромный | 32 | 32 |
Монохромный | 48 | 48 |
Монохромный | 64 | 64 |
Монохромный | 96 | 96 |
16 | 16 | 16 |
16 | 32 | 32 |
16 | 64 | 64 |
16 | 48 | 48 |
16 | 96 | 96 |
256 | 16 | 16 |
256 | 32 | 32 |
256 | 48 | 48 |
256 | 64 | 64 |
256 | 96 | 96 |
Установка активной точки курсора
активная точка курсора представляет собой точку, на которую Windows ссылается при отслеживании положения курсора. По умолчанию гиперобъект задается в левом верхнем углу курсора с координатами 0,0 . в свойстве Hotspot в окно свойств отображаются координаты активной точки.
На панели инструментов редактора изображенийвыберите инструмент Задать активную область .
Выберите пиксель, который требуется назначить в качестве горячей точки курсора.
В свойстве Hotspot в окне свойства отображаются новые координаты.
Удаление образа устройства
Пока изображение значка отображается в редакторе изображений, последовательно выберите пункты изображение>Удалить изображение устройства. При удалении последнего изображения значка в ресурсе также удаляется ресурс.
При нажатии клавиши Del изображения и цвета, созданные на значке, удаляются, но значок остается, и теперь его можно переконструировать. Если нажать клавишу Del по ошибке, нажмите CTRL+Z , чтобы отменить действие.
Квалификация ресурса изображения по layoutdirection
Квалификация ресурса изображения по масштабу, теме и контрастности
По умолчанию для квалификатора scale используется значение scale-100 . Таким образом, эти два варианта эквивалентны (они предоставляют изображение в масштабе 100, то есть с коэффициентом масштабирования 1).
Можно использовать квалификаторы в именах папок вместо имен файлов. Это более подходящий метод, если у вас есть несколько файлов ресурсов для каждого квалификатора. Для наглядности ниже приведены еще два варианта, эквивалентные приведенным выше.
Далее приведен пример предоставления вариантов ресурса изображения с именем /Assets/Images/logo.jpg для различных параметров шкалы отображения, темы и высокой контрастности. В этом примере используется именование папки.
Читайте также: