Форум: "Media";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
ВнизНужно получить по известному хэндлу иконки её глубину цвета Найти похожие ветки
← →
Ale}{(is) (2004-08-06 16:39) [0]Уважаемые Мастера! Помогите решить следующую проблему. Нужно получить по известному хэндлу иконки её глубину цвета. Пробовал получать AND битмап этой иконки, но он всегда имеет глубину 32-bit, т. е. как у экрана. А мне нужно получить реальную глубину. Заранее благодарен.
← →
Mihey_temporary © (2004-08-06 18:07) [1]Походу дела очень сложно. Но можно обойти проблему. Как тебе нужно загружать иконки? Если из файла, то данные об этом можно считать напрямую.
← →
Кириешки © (2004-08-07 07:44) [2]А получить саму иконку, и ее уже измерить?
function GetIcon(wnd:hwnd):TIcon;
begin
result:=TIcon.Create;
result.Handle:=GetClassLong(wnd,GCL_HICON);
end;
procedure TForm1.....Click(Sender: TObject);
var
h : thandle;
begin
h := handleIconki;
geticon(h);
image1.Picture.Icon:=GetIcon(h);
end;
Может быть так получится. Хотя я не знаю, код написал пряма тута и не проверял.
← →
Ale}{(is) (2004-08-07 09:51) [3]Читаю я иконку из файла. Но потом пользователь может заменить одну из иконок файла на другую. А при записи в файл нужно получить её параметры, в частности BPP, что я сделать не могу. Помогите!
← →
Mihey_temporary © (2004-08-07 19:13) [4]Я знаю эту проблему и не нашёл ей решения, точнее нашёл обход - вручную гружу из файла иконку и все данные, тогда без проблем. Вот модуль, реализующий это дело. Иконки грузятся в TBitmap, PixelFormat которого всегда без проблем опеределяется.
http://www.hot.ee/mvps21/IconLoad.rar
← →
Ale}{(is) (2004-08-09 11:20) [5]К сожалению, меня опять не так поняли. Проблема такова: пользователь меняет свойство моего класса Icon: HICON и в результате должны обновиться другие поля этого класса, а именно Width, Height и BPP. Т. о. ничего кроме переменной типа HICON у меня нет, ни файла, ничего вообще. А XORMask, возвращаемые GetIconInfo возвращает всегда 32-битный битмап.
← →
Mihey_temporary © (2004-08-09 15:19) [6]>К сожалению, меня опять не так поняли. Проблема такова: пользователь меняет свойство моего класса Icon: HICON и в результате должны обновиться другие поля этого класса, а именно Width, Height и BPP.
Но ты сам писал:
>Читаю я иконку из файла. Но потом пользователь может заменить одну из иконок файла на другую. А при записи в файл нужно получить её параметры, в частности BPP, что я сделать не могу. Помогите!
В таком случае можно не работать с иконкой явно, а внутри хранить иконку как TBitmap, а загрузку и сохранение и передачу как HICON делать вручную.
Просто не ты первый, кто столкнулся с такой проблемой при работе с HICON. Решения я не знаю.
← →
Ale}{(is) (2004-08-09 15:57) [7]Очень жаль, придётся искать обходные решения!
← →
Mihey_temporary © (2004-08-09 15:59) [8]Попробуй может напиши в Microsoft, мол ваша же API.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c