Загрузка картинки в VCL From
Загрузить картинку в Embarcadero Rad studio можно несколькими способами. Все которые мне известны я постараюсь описать тут. Для реализации данной задачи создадим простой VCL Windows Form проект
Для загрузки картинки существует специальный компонент называется он Timage он расположен во вкладке Tool Palette Чтобы быстро найти его можно например воспользоваться поисковой строкой. Тащим данный компонент на поверхность формы Как и все визуальные компонента данный элемент имеет набор свойств которые позволяют настроить поведение и внешний вид данного элемента Все параметры находятся во вкладке Properties окна Object Inspector Загрузка картинки происходит в 2 этапа 1) мы указываем имя файла от куда брать изображение задаем параметр Picture 2) мы масштабируем картинку до размеров нашего Image если нужно задаем параметр Stretch Способ 1 (Настройка картинки ручками) Для этого нажимаем на параметр Picture В открывающимся окошке нажимаем кнопку Load И с помощью стандартного диалогового окна выбираем нужную картинку и нажимаем на кнопку открыть
Такой способ вполне хорош тем что картинки остаются в приложении в памяти и после компиляции они хранятся в exe файле проекта не требуя дополнительных ресурсов и папок под проект. Для быстрого создания дизайна очень удобно пользоваться этим способом. Способ 2 (Загрузка картинки программным способом) Часто возникают ситуации когда нужно загрузить картинку динамически в зависимости от события возникшего в приложении. Чтобы загрузить картинку программным способом воспользуемся событием создания формы/ Выделим форму и в Object Inspector зайдем во вrладку Events( события ) и в ней найдем событие OnCreate Двойным щелчком по пустому полю на против пункта OnCreate создадим процедуру которая будет реагировать на событие создания формы. Собственно в этой процедуре и напишем загрузку изображения в компонент Image и ее масштабирование запустим проект и проверим и видим что картинка загружена. Способ 3 (Загрузка картинки программным способом во время работы приложения) Бывает необходимо во время работы программы дать пользователю возможность выбрать картинку и ее загрузить на форму. Для этих целей можно воспользоваться специальным компонентов OpenPictureDialog который позволит получить путь к картинки и мы ее загрузим во время работы программы. Добавим на форму компонент OpenPictureDialog По событию клика на картинке будем открывать диалоговое окно в котором пользователь будет выбирать картинку Выбираем Picture и в Object Inspector зайдем во вrладку Events( события ) и в ней найдем событие OnClick и создадим процедуру нажав на пустое поле на против двойным щелчком Опишем функцию Проверим работу
Вот пока все способы которые мне известны по загрузке изображения. |
Компонент Delphi BitBtn (кнопка с рисунком)
Tweet
Компонент Delphi BitBtn (кнопка с рисунком) расположен на странице Additional Палитры Компонентов. Он является потомком класса Button — стандартной кнопки. Компонент BitBtn отличается от компонента Button тем, что на нем вместе с текстовой надписью можно отобразить растровый рисунок. Дизайн и расположение картинки определяется свойствами компонента.
За отображения растрового рисунка отвечает свойство Glyph. Свойство Glyph первоначально устанавливается со значением None и поэтому на кнопке нет рисунка. Кнопка может отображать до трех отдельных рисунков:
- внешний вид кнопки (когда кнопка не взаимодействует с пользователем) — это первое изображение,
- кнопка неактивна (ее нельзя выбрать и цвет ее серый) — вторая картинка,
- на кнопке сделан щелчок (кнопка нажата) — третья картинка.
Если изображений должно быть больше чем одно, то они должны находиться на одном рисунке в одном файле формата BMP. Давайте от откроем Image Editor — графический редактор, поставляемый совместно с пакетом Delphi. Создадим в нем новое изображение размером 16 на 48 пикселов. Из расчета получить в конечном итоге 3 картинки 16 на 16. Так как у меня нет больших художественных талантов, то на картинке я изобразил просто цифры. Если у Вас получиться что нибудь более красивое, то это будет вам плюсом.
Теперь на форме расположим два компонента BitBtn. Для первой кнопки Caption будет — Пуск, для второй — Запретить. Свойство Glyph первой кнопки будет содержать наш рисунок. Обработчик первой кнопки можно оставить пустым, а для второй кнопки запишем следующее:
if (BitBtn1.Enabled = true) then begin BitBtn1.Enabled := false; BitBtn2.Caption := 'Разрешить'; end else begin BitBtn1.Enabled := true; BitBtn2.Caption := 'Запретить'; end;
Теперь запустим наши программу. Кнопка Пуск будет иметь рядом с собой рисунок — синию единицу, при нажатии на нее получим красную тройку. А если мы второй кнопкой заблокируем первую (присвоим свойству первой кнопки Enabled := False), то на первой кнопке рядом с заголовком появиться коричневая цифра 2.
Изменяя свойство Kind мы получим предопределенные Delphi виды кнопок. Можно применять следующие константы:
- bkCustom — изображение кнопки первоначально отсутствует и загружается самостоятельно (действует по умолчанию), реакция кнопки задается программистом;
- bkCancel — текст на кнопке Cancel; ModalResult — mrCancel, свойство Cancel — TRUE;
- bkYes — текст на кнопке Yes, свойство Default равно TRUE, ModalResult — mrYes;
- bkNo — текст на кнопке No, свойство Cancel — TRUE, ModalResult — mrNo;
- bkHelp — текст на кнопкеn Help;
- bkClose — текст на кнопке Close, закрывает форму;
- bkAbort — текст на кнопке Abort;
- bkRetry — текст на кнопке Retry;
- bkIgnore — текст на кнопке Ignore;
- bkAll — текст на кнопке Yes to All.
Зависимость расположения текста и картинки задается свойством Layout:
- blGlyphRight — картинка справа от текста;
- blGlyphLeft — картинка слева от текста;
- blGlyphBottom — картинка под текстом;
- blGlyphTop — картинка над текстом.
Расстояние (в пикселах) между текстом и картинкой задается в свойстве Spacing (по умолчанию 4 пиксела). При значении -1 текст будет центрирован относительно картинки и края кнопки.
Итог: был разобран компонент кнопки с картинкой. Его можно использовать для привлекательного дизайна своих программ.
изображений — Delphi 7, загрузить PNG в TImage
спросил
Изменено 6 лет, 1 месяц назад
Просмотрено 32к раз
Просто хочу загрузить .PNG, попробовал с помощью LoadPic() с помощью OleGraphic, который работает с другими форматами, но с PNG не удалось.
Цель состоит в том, чтобы скопировать изображение в скрытое растровое изображение, откуда оно затем маскируется и копируется на видимый холст рабочего изображения.
Но главный вопрос: Загрузить PNG. Как? Я нашел много страниц (например, TPNGImage), но все ресурсы и ссылки в Интернете мертвы, утеряны или недоступны для загрузки.
- изображение
- delphi
- png
- delphi-7
4
Delphi 7 изначально не поддерживает PNG. Есть несколько сторонних компонентов, которые позволят вам добавить эту поддержку. Например, на сайте Торри.
2
Последние версии Delphi изначально поддерживают PNG, среди многих других улучшений, и вам рекомендуется обновиться.
12
Пока я буду использовать GraphicEx от Soft Gems. Спасибо за полезные ответы!
0Скачать снизу. ..
http://delphi.pjh3.de/articles/graphic/png.php
В delphi 7 очень легко работать с изображениями .png… Просто добавьте его в использование … и создайте объект png…
4
Небольшая библиотека SynGdiPlus с открытым исходным кодом может загружать и сохранять изображения в форматах gif, tiff и png.
Будет вызвана библиотека GdiPlus.dll, доступная начиная с Windows XP.
Это быстро и надежно.
Этот же модуль способен отображать любой метафайл GDI со сглаживанием: вы пишете на обычном TCanvas, затем он рисуется со сглаживанием с помощью GDI+. Небольшое изменение кода, улучшенный рендеринг.
Устройство с открытым исходным кодом, работающее от Delphi 6 до XE.
Вы можете загрузить последнюю версию с http://synopse.info/fossil/finfo?name=SynGdiPlus.pas
GraphicEx от Soft Gems был перемещен на https://github.com/mike-lischke/GraphicEx
Объяснение переноса можно найти по адресу http://www. soft-gems.net/index.php/libs/43-graphicex-on-github
Я добавил GraphicEx в свой проект Delphi 6, и это сработало из коробки, но когда я тестировал его с Delphi 5, этого не произошло.
Несмотря на это, он работает хорошо и реализует не только изображения PNG, но и многие другие, которые можно настроить с помощью GraphicConfiguration.inc:
// Выберите предпочтительные форматы изображений здесь или оставьте их все включенными. Отключив // некоторые форматы, которые не представляют интереса, можно сэкономить память. {$define UseLZW} //патент вышел, ура! {$define SGIGraphic} // Поддерживаются изображения *.bw, *.rgb, *.rgba, *.sgi {$define AutodeskGraphic} // изображения *.cel, *.pic {-$define NewTIFFGraphic} // изображения *.tif, *.tiff {$define OldTIFFGraphic} {$define TargaGraphic} // изображения *.tga, *.vst, *.icb, *.vda, *.win {$define PCXGraphic} // изображения *.pcx, *.pcc, *.scr {$define PCDGraphic} // изображения *.pcd {$define PortableMapGraphic} // изображения *. ppm, *.pgm, *.pbm {$define CUTGraphic} // *.cut (+ *.pal) изображения {$define GIFGraphic} // изображения *.gif {$define RLAGraphic} // изображения *.rla, *.rpf {$define PhotoshopGraphic} // изображения *.psd, *.pdd {$define PaintshopProGraphic} // изображения *.psp {$define PortableNetworkGraphic} // изображения *.png {$define EPSGraphic} // изображения *.eps {$define ArtsAndLettersGraphic} // изображения *.ged
Зарегистрируйтесь или войдите в систему
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
glyFX: значки, изображения панели инструментов, заставки, логотипы для разработчиков программного обеспечения
Руководства по glyFX: Borland Delphi (версии 2–7)
Использование значков glyFX в Borland Delphi (версии 2–7)
В этом документе описана основная процедура о том, как использовать изображения панели инструментов glyFX с Borland Delphi. Шаги применимы к любой версии от 2 до 7. Могут быть небольшие косметические различия в интерфейсе, однако процедура остается прежней.
Существует два основных механизма добавления значков в элементы управления: списки изображений и встраивание в элементы управления.
Списки изображений
Списки изображений позволяют хранить единый объект, содержащий все ваши значки, в одном месте. Преимущество заключается в том, что вы можете редактировать изображения в списке изображений, и элементы управления будут автоматически обновляться, если вы внесли какие-либо изменения в эти значки. Если вы используете определенное изображение более чем для одного элемента управления, это также позволяет вам хранить только одну копию изображения в приложении, а не в каждом элементе управления. Это руководство разбито на 4 отдельные части;
- Часть 1. Добавление списка изображений
- Часть 2. Настройка свойств ImageList
- Часть 3. Добавление значков в список изображений
- Часть 4. Использование списка изображений
Внедрение
Встраивание изображения непосредственно в элемент управления — это быстрый способ назначения значков элементам пользовательского интерфейса. Выбранный элемент управления будет напрямую хранить ресурс изображения. Этот метод не так эффективен, как использование списков изображений, но иногда он необходим, поскольку некоторые элементы управления несовместимы со списками изображений. Это руководство состоит только из 1 части;
- Часть 1. Встраивание изображений в элементы управления
Часть 1. Добавление списка изображений
Шаг 1
Выберите вкладку Win32 в палитре компонентов Delphi.
Шаг 2
Выберите элемент управления ImageList на вкладке и щелкните форму, чтобы вставить компонент.
Часть 2. Настройка свойств ImageList
Шаг 1
Используя окно Object Inspector, отредактируйте свойства Height и Width до требуемого размера (в зависимости от того, какие наборы у вас есть, это может быть 16, 24, 32, 48 или 64). Оба размера должны быть одинаковыми.
Шаг 2
Delphi может автоматически определить цвет прозрачности значка. Это делает цвет, присутствующий в нижнем левом пикселе, прозрачным по всему изображению. Вы можете установить свойство BkColor, чтобы принудительно использовать другой цвет (или установить его на собственный цвет clFuchsia glyFX), если хотите.
Часть 3. Добавление значков в список изображений
Шаг 1
Дважды щелкните компонент ImageList, чтобы вызвать редактор списка изображений.
Шаг 2
Нажмите кнопку «Добавить» в окне редактора списка изображений. Отобразится стандартный диалог Windows Open File, в котором вы можете выбрать растровое изображение (.BMP) из одной из папок glyFX.
Шаг 3
После выбора изображения (или нескольких изображений) редактор списка изображений отобразит добавленный вами значок. Вы можете продолжать добавлять столько изображений, сколько вам нужно (вы всегда можете отредактировать содержимое ImageList на более позднем этапе).
Часть 4. Использование ImageList
В этой части показано, как использовать ImageList со стандартным элементом управления панели инструментов. Процедура очень похожа для других элементов управления, поддерживающих ImageList. Сюда входят элементы управления сторонних производителей от других поставщиков.
Шаг 1
Выберите элемент управления ToolBar на вкладке Win32 в палитре компонентов. Нажмите на форму, чтобы вставить элемент управления.
Шаг 2
Нажмите кнопку раскрывающегося списка «Изображения» в Инспекторе объектов и выберите нужный элемент управления ImageList. Сторонние элементы управления могут использовать другую терминологию для этого свойства.
Шаг 3
Щелкните правой кнопкой мыши элемент управления ToolBar и выберите «Новая кнопка» в контекстном меню. Это создает кнопку инструмента в элементе управления ToolBar.
Шаг 4
Выберите кнопку нового инструмента. Нажмите кнопку раскрывающегося списка ImageIndex в инспекторе объектов и выберите изображение, которое вы хотите использовать на кнопке.
Шаг 5
Конечный результат — элемент управления ToolBar, содержащий высококачественный значок glyFX!
Встраивание: Часть 1. Добавление изображений к элементам управления
В этом примере показано, как добавить изображение непосредственно в элемент управления «Кнопка». Процедура аналогична для других элементов управления.
Шаг 1
Выберите вкладку «Дополнительно» в палитре компонентов Delphi.
Шаг 2
Выберите элемент управления BitBtn и перетащите кнопку на форму.
Шаг 3
Нажмите кнопку Редактор глифов в Инспекторе объектов, чтобы отобразить окно Редактора изображений. Нажмите кнопку «Загрузить», после чего откроется стандартное диалоговое окно Windows «Открыть файл», в котором вам нужно выбрать растровое изображение (.