С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 25.08.2016
Сообщений: 8
1

Искажение изображения в ImageList

28.12.2016, 23:34. Показов 1269. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, поставлена задача на Delphi 7 (под Windows XP) заполнить imagelist иконками из shell32.dll с последующим использованием их в качестве иконок меню и панели инструментов.

Реализую с помощью следующего кода:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.Button1Click(Sender: TObject);
 var
  icon:TIcon;
  WinDir:PChar;
 begin
  GetMem(WinDir, 255);
  GetWindowsDirectory(WinDir, 255);
  icon:= TIcon.Create;
  icon.Handle:= ExtractIcon(HInstance, PChar(WinDir+'\system32\shell32.dll'), 18);
  ImageList1.AddIcon(icon);
  Image1.Picture.Icon:= icon;
  icon.Free;
 end;
В результате нижнее изображение на рисунке (иконка загруженная в TImage для контроля) выглядит нормально, верхнее - рисунок кнопки toolbara загруженный в ImageList испорчен. Подскажите как решить данную проблему.
Миниатюры
Искажение изображения в ImageList  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.12.2016, 23:34
Ответы с готовыми решениями:

Листать изображения, например, через ImageList
Я знаю, что в имедж листе только до 16х16 размеры картинок, допустим я загрузил их, и через image1...

Заменить определенные значения в DBGrid на изображения из Imagelist
Есть dbgrid, который выводит таблицу из бд. В таблице есть столбец "Состояние" типа string,...

Искажение изображения
Всем привет! Как сделать искажение изображения, подобное тому, как на приложенной картинке?

Искажение изображения
Монитор benq gw2255. Во время игры в фаркрай 5 начало постепенно искажаться изображение, вырубил...

3
Житель Земли
3002 / 3011 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
30.12.2016, 17:39 2
ImageList.ColorDepth настрой
0
0 / 0 / 0
Регистрация: 25.08.2016
Сообщений: 8
31.12.2016, 16:35  [ТС] 3
Я бы с удовольствием настроил ImageList.ColorDepth но в Delphi 7 его нет. Изучив искажения изображений в ImageList подробнее понял, что проблема не новая и в 7 Delphi не решена.
В данный момент вижу следующие варианты решения:
1 - использование более новых версий Delphi (с расширенными возможностями ImageList);
2 - использование сторонних компонент вместо стандартного ImageList.
3 - рисование на Canvas.

Хотя, пути решения я для себя уже наметил, все же надеюсь на существование решения (пусть и не стандартного) с помощью штатных средств.

Всех с наступающим Новым Годом !
0
Житель Земли
3002 / 3011 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
01.01.2017, 14:45 4
Цитата Сообщение от igorchd Посмотреть сообщение
использование более новых версий Delphi
хотя бы Д2010 возьми
0
01.01.2017, 14:45
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.01.2017, 14:45
Помогаю со студенческими работами здесь

Искажение изображения
Имеется изображение белого светлых оттенков которое добавлено на задний план формы....

Искажение изображения
Подскажите в чём может быть проблема =-O Монитор syncmaster 2443bw Искажение изображения, некоторые...

Искажение изображения
Во время просмотра фильмов, когда идет смена кадров, верхнняя часть экрана(10 см где-то) ...

Искажение размера изображения
Есть реальный размер (допустим квадрата/круга) оно равно 4 см, на изображение оно вышло 2см нужно...

Искажение изображения в играх
В чём может причина такого искажения изображения в играх?Пример из игры Rocket League по клику:

Искажение изображения в игре
Здравствуйте уважаемые. Не так давно приобрёл видюху, а именно geforce gtx 960 фирмы zotac. И вроде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru