Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];

Вниз

выгрузить картинку из имаги   Найти похожие ветки 

 
з. танька   (2005-12-18 15:37) [0]

привет!
закрасить можно понятное дело цветом фона но! у имаги autosize = true, и она находится в скролбоксе. так что после закрашивания остаются полосы прокрутки, и понятно, что там что то есть "невидимое". Так вот, как вообще выгрузить изображение из имаги?


 
MBo ©   (2005-12-18 16:00) [1]

А если вопрос без жаргона сформулировать?


 
з. танька   (2005-12-18 16:12) [2]

есть imgStored: TImage. он находится внутри ScrollBox. у imgStored св-во Autosize = true. далее код:


//процедура загрузки из файла:
procedure TForm1.LoadImage(path: string);
begin
 imgStored.Align := alNone;

 imgStored.Picture.LoadFromFile(path);

 if (imgStored.Width < ScrollBox1.Width) and (imgStored.Height < ScrollBox1.Height) then
   imgStored.Align := alClient
 else
   if (imgStored.Width < ScrollBox1.Width) or (imgStored.Height < ScrollBox1.Height) then
     imgStored.Align := alTop;
end;

//процедура выбора из листбокса:
procedure TForm1.lbImagesClick(Sender: TObject);
var
 s: PShortString;
begin
 if lbImages.ItemIndex = -1 then Exit;
 s := PShortString(lbImages.Items.Objects[lbImages.ItemIndex]);
 LoadImage(s^);
end;

//выбор итема в листбоксе:
procedure TForm1.lbImagesClick(Sender: TObject);
var
 s: PShortString;
begin
 if lbImages.ItemIndex = -1 then Exit;
 s := PShortString(lbImages.Items.Objects[lbImages.ItemIndex]);
 LoadImage(s^);
end;

//процедура удаления из листбокса:
procedure TForm1.btDelClick(Sender: TObject);
var
 i: Integer;
begin
 i := lbImages.ItemIndex;      //номер удаляемой

 if i > -1 then
 begin
   Dispose(PShortString(lbImages.Items.Objects[i]));
   lbImages.Items.Delete(i);
 end;

 if lbImages.Items.Count > 0 then
 begin
   if i < lbImages.Count then  //удаляемая не последняя
     lbImages.ItemIndex := i
   else
     lbImages.ItemIndex := i - 1;  //удаляемая последняя

   lbImagesClick(nil);
 end
 else begin
   //ВОТ ОНО!
   //все картинки из списка удалены, нужно очистить imgStored!
   //на данный момент там остается картинка, которая была удалена
   //только что. КАК убрать её оттуда? если просто закрасить канвас
   //цветом скроллбокса, то imgStored всё равно никуда не денется и
   //в скроллбоксе будут присутствовать полосы прокрутки. Можно
   //их убрать но потом опять ставить я не хочу! можно ли каким нибудь
   //образом убрать последнюю картинку?
 end;
end;


 
з. танька   (2005-12-18 16:15) [3]

зы:
в листбоксе имена картинок и пути к ним в св-ве Objects
в имейдже отоброжается то что выбрано в листбоксе..


 
MBo ©   (2005-12-18 16:21) [4]

не поможет ли
imgStored.Picture:=Nil;
и задание нулевых размеров TImage?


 
з. танька   (2005-12-18 16:25) [5]


> MBo ©   (18.12.05 16:21) [4]

спасибо Picture := nil работает!
я почему то пыталась делать Picture.Graphic := nil.

а нулевые размеры неработают т.к. autosize=true.



Страницы: 1 вся ветка

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

Наверх





Память: 0.46 MB
Время: 0.008 c
6-1127396291
Санек
2005-09-22 17:38
2006.01.08
InternetReadFile как проверить ошибку???


2-1135085285
Я Виктор
2005-12-20 16:28
2006.01.08
Универсальный проигрыватель


4-1130921832
Still Swamp
2005-11-02 11:57
2006.01.08
Как соорудить окошко типа PopUp


3-1131972061
solenko
2005-11-14 15:41
2006.01.08
Выполнение хранимой процедуры по имени


2-1134893578
Lokk
2005-12-18 11:12
2006.01.08
эврестический алгоритм





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский