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

Вниз

Что делаю не так?   Найти похожие ветки 

 
De1uxe ©   (2005-12-07 22:17) [0]

Уважаемые мастера помогите пожалуйста.
Имеется следующий код:

  myrect:=rect(10,10,100,100);
  bitmap:=tbitmap.Create;
  bitmap1:=tbitmap.Create;
  bitmap1.LoadFromFile("c:\2.bmp");
  Bitmap.Canvas.CopyRect(myrect,bitmap1.Canvas,myrect);
  bitmap.SaveToFile("c:\1.bmp");

Вот что я хочу от этого кода:
1. Открыл изображение 2.bmp
2. Отрезал прямоугольник с координатами (10,10,100,100)
3. Сохранил отрезаный кусок в 1.bmp
     Но вместо этого я ничего ну получаю в файле 1.bmp
В чем дело?


 
Reindeer Moss Eater ©   (2005-12-07 22:25) [1]

Видимо в том, что размеры bitmap 0х0


 
Джо ©   (2005-12-07 22:26) [2]


procedure ExtractBitmapToFile (SrcBmp: TBitmap; Rect: TRect;
 AFileName: string);
var
 DestBmp: TBitmap;
 DestRect: TRect;
begin
 DestBmp := TBitmap.Create;
 try
   DestRect.Left := 0;
   DestRect.Top := 0;
   DestRect.Right := Rect.Right-Rect.Left;
   DestRect.Bottom := Rect.Bottom-Rect.Top;

   DestBmp.Width := DestRect.Right;
   DestBmp.Height := DestRect.Bottom;

   DestBmp.Canvas.CopyRect(DestRect,SrcBmp.Canvas,Rect);

   DestBmp.SaveToFile(AFileName);
 finally
   DestBmp.Free;
 end;
end;

Использовать:

procedure TForm1.Button1Click(Sender: TObject);
begin
 ExtractBitmapToFile(
   Image1.Picture.Bitmap,
   Rect(10,10,100,100),
   "d:\dest.bmp"
   );
end;

Может что-то напутал, писал наскоро. Но вроде работает, как ожидается.


 
De1uxe ©   (2005-12-07 22:33) [3]

Всем большое спасибо! Работает


 
app ©   (2005-12-07 22:42) [4]

Ты не брат ли случайно этому?
http://delphimaster.net/view/2-1133968311/


 
Джо ©   (2005-12-07 23:05) [5]


> [4] app ©   (07.12.05 22:42)

Нет, он брат вот этому:
http://delphimaster.net/view/2-1133968311/
:)


 
Anatoly Podgoretsky ©   (2005-12-08 00:39) [6]

Какой брат - это близнецы, которые не читали правила.



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

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

Наверх




Память: 0.47 MB
Время: 0.097 c
2-1134214610
Volf_555
2005-12-10 14:36
2005.12.25
Есть функция в Unit1. Как её использовать в Unit2?


14-1133762024
Ega23
2005-12-05 08:53
2005.12.25
С днем рождения! 5 декабря


2-1134300688
markers
2005-12-11 14:31
2005.12.25
Динамическое создание компонетов


14-1133431408
X9
2005-12-01 13:03
2005.12.25
Проблема с телевизором (Sony KV-M2181KR)


2-1134144844
guest__
2005-12-09 19:14
2005.12.25
TStrings - уничтожение лишних строк.