Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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);
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 вся ветка

Форум: "KOL";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.035 c
2-1126710094
Anfaenger
2005-09-14 19:01
2005.10.16
Function


2-1126251458
Ragazor
2005-09-09 11:37
2005.10.16
With Tpanel.Create(scroolbox)....


1-1127490315
userrrrr
2005-09-23 19:45
2005.10.16
как создать idhttp


5-1103272219
han
2004-12-17 11:30
2005.10.16
Копонент наподобии CombBox


2-1126689186
Andrushk
2005-09-14 13:13
2005.10.16
Перекрестные ссылки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский