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

Вниз

Как получить   Найти похожие ветки 

 
DenisWW   (2004-01-19 13:02) [0]

я делаю так
устанавливаю размер Image1 и ImageList1 размером 100 х 100
гружу рисунок
Image1.Picture.Bitmap.LoadFromFile(".........");
Image1.Stretch:=True;
как мне теперь этот замечательный промасштабированный рисунок получить в виде TBitMap; , чтобы занести в ImageList1????


 
hfa   (2004-01-19 13:11) [1]

ImageList1.Add(Image1.Picture.Bitmap,nil);


 
DenisWW   (2004-01-19 13:14) [2]

так не катит
результат - оргинальное непромасштабированное изобржение


 
hfa   (2004-01-19 13:14) [3]

доля чего ты заносишь его в imagelist?


 
DenisWW   (2004-01-19 13:20) [4]

я изображения в отдельном потоке получаю
а в основном их вывожу
поэтому для меня лучше прнивиев держать в imagelist


 
DenisWW   (2004-01-19 13:23) [5]

далее я с Imagelist в другом месте рисовать буду а потом всё заново


 
Ega23   (2004-01-19 13:26) [6]

Сначала создаёшь виртуальный битмап, ставишь ему Width=100, Height=100, Потом через StretchDraw на него копируешь оригинальное изображение. Потом Этот виртуальный добавляешь в ImageList.


 
hfa   (2004-01-19 13:29) [7]

попробуй процедуру Canvas.StretchDraw(Rect:TRect,TGraphic)


 
easy   (2004-01-19 13:45) [8]

var
b:TBitmap;
begin
Image1.Picture.Bitmap.LoadFromFile(".....");
b:=TBitmap.Create;
b.Width:=100;
b.Height:=100;
b.Canvas.StretchDraw(rect(0,0,100,100),image1.Picture.Graphic);
ImageList1.Add(b,nil);
b.Free;
ImageList1.GetBitmap(0,Image2.Picture.Bitmap);
end;


 
DenisWW   (2004-01-19 14:22) [9]

easy © спасибо!


 
DenisWW   (2004-01-19 16:31) [10]

bm:=TBitMap.Create;
bm.Width:=ImageList2.Width;
bm.Height:=ImageList2.Height;
Imag:=TImage.Create(Nil);
Imag.Width:=ImageList2.Width;
Imag.Height:=ImageList2.Height;

Imag.Picture.Bitmap.LoadFromFile(Find.Name);

bm.Canvas.StretchDraw(rect(0,0,bm.Width,bm.Height),Imag.Picture.Graphic);

ImageList2.Add(bm,nil);

сделал так и не всегда, но редко, в ImageList2 попадает просто чёрный квадрат - почему?


 
_none_   (2004-01-19 16:46) [11]

uses GDIPAPI, GDIPOBJ;
....

procedure TForm1.LoadPic(__FName: string; __Image: TImage);
var _Graphics: TGPGraphics;
_Bitmap: TGPBitmap;
begin
if FileExists(__FName) then
begin
_Bitmap := TGPBitmap.Create(__FName);
__Image.Picture.Bitmap.Width := _Bitmap.GetWidth;
__Image.Picture.Bitmap.Height := _Bitmap.GetHeight;
_Graphics := TGPGraphics.Create(__Image.Picture.Bitmap.Canvas.Handle);
_Graphics.SetInterpolationMode(InterpolationModeHighQualityBicubic);
_Graphics.DrawImage(_Bitmap, 0, 0, _Bitmap.GetWidth, _Bitmap.GetHeight);
_Graphics.Free;
_Bitmap.Free;
end
else
__Image.Picture := nil;
end;


 
DenisWW   (2004-01-19 16:58) [12]

хотя Imag я могу смотреть и грузится он всегда ок
а по поводу _none_ спасибо - я чуть позже гляну
помойму чуть не то


 
DenisWW   (2004-01-21 15:04) [13]

ImageList2 я формирую в отельном потоке

bm:=TBitMap.Create;
bm.Width:=ImageList2.Width;
bm.Height:=ImageList2.Height;
Imag:=TImage.Create(Nil);
Imag.Width:=ImageList2.Width;
Imag.Height:=ImageList2.Height;
Imag.Picture.Bitmap.LoadFromFile(Name);
bm.Canvas.StretchDraw(rect(0,0,bm.Width,bm.Height),Imag.Picture.Graphic);
ImageList2.Add(bm,nil);

а DrawGrid через DrawGrid1Draw1Cell
отрисовывает ImageList2 у себя в клетках
with Sender as TDrawGrid do begin
Canvas.FillRect(Rect);
ImageList2.Draw(Canvas,Rect.Left,Rect.Top,ARow);
End;

не всегда, но редко, DrawGrid иногда отрисовывает просто чёрные квадраты - почему? Кажется такое изображение попадает именно в ImageList2

Imag я могу смотреть и грузится он всегда ок


 
DenisWW   (2004-01-21 15:32) [14]

могу текст прислать кому надо


 
DenisWW   (2004-01-21 15:37) [15]

злые - эти програмеры
у меня скоро чакра засохнет и отвалится ждать


 
DenisWW   (2004-01-22 13:26) [16]

Вопрос под номером 13 обсуждается



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

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

Наверх





Память: 0.47 MB
Время: 0.022 c
1-16317
denkop
2004-01-20 23:42
2004.02.06
TFileStream


14-16742
Piter
2004-01-15 19:00
2004.02.06
Насчет NtQuerySystemInformation и йCreateToolhelp32Snapshot


3-16174
Malyatk0
2004-01-14 00:08
2004.02.06
Grid+Query


1-16222
Builder
2004-01-26 22:52
2004.02.06
StringGrid


7-16775
Kyzja
2003-11-17 14:35
2004.02.06
Как запихнуть форму в dll ?





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