Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.16;
Скачать: CL | DM;

Вниз

Сдвиг 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);
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;
, которая выводит сообщение что рисунок загружен но в поле ImageShow ничего нет. Видимо решение простое но никак не могу его найти.
В 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 = ilcColorDDB

procedure 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 вся ветка

Текущий архив: 2005.10.16;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.039 c
2-1126403102
Иванька
2005-09-11 05:45
2005.10.16
Таблица и Excel


3-1125509016
Гость22
2005-08-31 21:23
2005.10.16
Как создать алиас БД Парадокс в пользователя?


3-1125682555
suharew
2005-09-02 21:35
2005.10.16
Поиск записи.


14-1127390200
han_malign
2005-09-22 15:56
2005.10.16
MS VC++ - загадка


2-1126757466
Vardoulacha
2005-09-15 08:11
2005.10.16
Как обратится к свойствам компонента???