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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.018 c
3-16102
Lonely
2003-12-16 12:12
2004.02.06
Програмное добавление поля в таблицу Paradox


1-16337
Ser_ega
2004-01-25 00:54
2004.02.06
Дата


6-16543
kalik
2003-12-05 09:50
2004.02.06
multicast


14-16698
Fants
2004-01-16 11:08
2004.02.06
Перенос Delphi c одного Win2000 на другой win2000


14-16640
RealRascal
2004-01-14 16:21
2004.02.06
Abstract Error