Форум: "KOL";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
ВнизСдвиг TKolImageShow ? Найти похожие ветки
← →
Alex- (2004-11-23 21:17) [0]Мастера ! Как избавиться от эффекта привязки картинки ImageShow1 к форме. Т.е. при изменении положения ImageShow1 на форме, не дает соответствующего изменения положения нарисованной картинки.
← →
Владимир Кладов (2004-11-24 16:08) [1]Вот я поставил в коде на OnTimer:
procedure TForm1.Timer1Timer(Sender: PObj);
begin
ImageShow1.Left := ImageShow1.Left + 1;
end;
Двигается по форме. Перерисовывается.
← →
Halfback (2005-02-17 14:02) [2]Может вопрос не по теме, но вот в чем дело: бросил на форму TShowImage. И не могу понять как загрузить в эту форму bmp файл.
Нашел процедуру
ImageShow1.ImageListNormal.LoadFromFile("D:\pa.bmp",,);
С первым параметром всё понятно, а что делать с двумя другими параметрами??
Помогите разобраться, а то вообще ничего не получается.
← →
ECM © (2005-02-17 14:12) [3]LoadFromFile("D:\pa.bmp",clNone,IMAGE_BITMAP)
← →
Halfback (2005-02-17 15:58) [4]>> ECM
А вот шиш. Пишет что [Error] Unit1.pas(140): Incompatible types: "TImageType" and "Integer" и указавает на IMAGE_BITMAP, который типа принимает значения 0..127
Еще варианты будут ???
← →
ECM © (2005-02-17 16:14) [5]Упс! Опечатка вышла - надо itBitmap... :)
А самому влом открыть kol.pas и посмотреть?
Или религия не позволяет? :)
← →
Halfback (2005-02-17 17:29) [6]>> ECM
Да уже перерывал. Даже ставлю itBitMap но теперь при процедуре
procedure TForm1.Button1Click(Sender: PObj);
var i: byte;
begin
ImageShow1.ImageListNormal.LoadFromFile("D:\texpa.bmp",clNone,itBitMap);
end;
Вылетает [b]RunTime error 216 at 0040400A[/b]. А с ней то что делать?
Картинка texpa.bmp имеет параметры 512*256*8 BPP 129кБ.
← →
ECM © (2005-02-17 17:46) [7]А не забыл ли ты кинуть на форму ImageList и присвоить его
полю ImageListNormal для ImageShow1 в инспекторе обьектов?
Очень похоже, что нет...:)
← →
Halfback (2005-02-17 18:55) [8]>> ECM
Так оно и оказалось. Вобщем сделал как написано. Но теперь другая проблема. Вот к примеру процедура:procedure TForm1.Button1Click(Sender: PObj);
begin
ImageShow1.ImageListNormal.ImgWidth:= 512;
ImageShow1.ImageListNormal.ImgHeight:=256;
ImageShow1.ImageListNormal.LoadFromFile("D:\texpa.bmp",clNone,itBitMap);
if ImageShow1.ImageListNormal.LoadFromFile("D:\texpa.bmp",clNone,itBitMap)=true then
ShowMessage("Image Loaded") else ShowMessage("Image Not Loaded");
end;
Сообщение выводит что кратинка загружена но на области ShowImage ничего нет.
А так если загружать картинку из инспектора обьектов то всё ОК!. Но правда изображение какое-то искареженное, как будто уменьшилась битность цветовой палитры.
← →
ECM © (2005-02-17 19:20) [9]Короче... Ты демки смотрел? А то мне уже скучно...
http://bonanzas.rinet.ru/DemoBitmap2PaintBox.zip
http://bonanzas.rinet.ru/DemoKolBitmap.zip
← →
Halfback (2005-02-18 17:30) [10]>> ECM
Там нет того что мне надо.
← →
Halfback (2005-02-18 17:30) [11]>> ECM
Там нет того что мне надо.
← →
ECM © (2005-02-18 17:34) [12]А что надо то? (Только подробнее)
← →
Halfback (2005-02-18 18:35) [13]>> ECM
Надо при помощи ImageShow выводить bmp картинки на экран. Дайте работающий пример а то уже второй день бьюсь и нифига не выходит.
Делаю вроде как всё правильно, т.е.
1. Бросаю на форму ImageShow и ListShow
2. В инспекторе обьектов компонента ImageShow в пункте ImageListNormal указываю на ListShow
3. Запускаю процедуруprocedure TForm1.Button1Click(Sender: PObj);
, которая выводит сообщение что рисунок загружен но в поле ImageShow ничего нет. Видимо решение простое но никак не могу его найти.
begin
ImageShow1.ImageListNormal.LoadFromFile("texpa.bmp",clNone,itBitMap);
if ImageShow1.ImageListNormal.LoadFromFile("texpa.bmp",clNone,itBitMap)=true then
ShowMessage("Image Loaded") else ShowMessage("Image Not Loaded");
end;
В VCL всё нормально работает а тут блин шиш.
← →
thaddy (2005-02-18 19:10) [14]The problem is, you are using an imagelist. You should be using a bitmap. I see what I can figure out with an imagelist (not ment for moving pictures!) The difference between a PBitmap and a HBitmap is great!
← →
thaddy (2005-02-18 19:11) [15]The problem is, you are using an imagelist. You should be using a bitmap. I see what I can figure out with an imagelist (not ment for moving pictures!) The difference between a PBitmap and a HBitmap is great!
← →
ECM © (2005-02-18 19:18) [16]Попробуй так:
ImageShow1.ImageListNormal.Colors = ilcColorDDBprocedure TForm1.Button1Click(Sender: PObj);
var
Bmp: PBitmap;
begin
Bmp := NewBitmap(100,100);
Bmp.LoadFromFile("texpa.bmp");
ImageList1.AddMasked(Bmp.Handle,clNone);
ImageShow1.CurIndex := 0;
Bmp.Free;
end;
А что не подходит в примерах ?
ИМХО: ImageShow удобнее использовать при показе наборов
картинок, которые имеют одинаковый размер и хранятся в одном
файле (привязка к ImageList)
← →
Halfback (2005-02-18 20:11) [17]>> thaddy
Т.е. если я правильно понял проблема в самом компоненте ImageList?
В принципе у меня получилось вывести картинку в ImageShow, вот:procedure TForm1.Button1Click(Sender: PObj);
begin
ImageShow1.ImageListNormal.ImgWidth:= 512;
ImageShow1.ImageListNormal.ImgHeight:=256;
ImageShow1.ImageListNormal.Colors:= ilcColorDDB;
ImageShow1.ImageListNormal.BkColor:= clDefault;
ImageShow1.ImageListNormal.LoadFromFile("texpa.bmp",clNone,itBitMap);
if ImageShow1.ImageListNormal.LoadFromFile("texpa.bmp",clNone,itBitMap)=true then
ShowMessage("Image Loaded") else ShowMessage("Image Not Loaded");
ImageShow1.Add("texpa");
end;
Как видно я добавил строку ImageShow1.Add("texpa") которая вообще непонятно что означает.
Но изображение явно потеряло битность, причем очень заметно. На глаз показывает всего 8-16 цветов(а не бит). Откуда такая потеря в качестве???
← →
Unknown Mystic © (2005-02-18 20:58) [18]>> Halfback (18.02.05 18:35) [13]
Откуда ему (ImageShow) знать, что надо перерисовываться? Ты ему Invalidate скажи.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.038 c