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

Вниз

Kak umen shit bitmap kartinku, umen shit koli4estvo pikselev???   Найти похожие ветки 

 
NeedHelp   (2005-01-22 00:38) [0]

Mastera podskazhiti pozhalujsta, kak umen"shit" bitmap?? Ato u menja problema, ja predpolagaju 4to bitmap kartinka slishkom bol"shaja, slishkom horoshego ka4estva, i izza etogo ejo nepolu4aetsja sohranit" v daze dannih =(( voot.. esli kto mozhet pomo4, to pomogiti =)) podskazhite kak umen"shit" koli4estvo pikselev v bitmap???


 
Jel ©   (2005-01-22 00:43) [1]

StretchBlt? Но врядли она из-за размера не сохраняется в базе. Покажи лучше код.

PS если не трудно используй http://www.translit.ru/


 
NeedHelp   (2005-01-22 00:50) [2]

eh.. kod dovol"notaki glinnij =)) no nadejus" vi smozhite mne pomo4" =)) eto izmu4alaaaas" =((

procedure TfEdit.LoadClick(Sender: TObject);
var
bmph,bmpw, dif:integer;
JPEG: TJPEGImage;
Bitmap: TBitmap;
begin
JPEG := TJPEGImage.Create;
Bitmap := TBitmap.Create;
try
  begin
  JPEG.LoadFromFile(OpenPictureDialog.FileName);
  Bitmap.Assign(JPEG);
// opredeljaet parametri bitmap, i umen"shaet image okono sohranjaja proporcii
  bmph:= Bitmap.Height;
  bmpw:= Bitmap.Width;
  if bmph>bmpw then
   begin
     dif:=bmph div 125;
     DBImage1.height:=bmph div dif;
     DBImage1.width:=bmpw div dif;
   end;
  if bmph<bmpw then
   begin
     dif:=bmpw div 125;
     DBImage1.height:=bmph div dif;
     DBImage1.width:=bmpw div dif;
   end;

  DBImage1.Picture.Assign(Bitmap);
  DMFriends.tFriendsPhoto.Assign(DBImage1.Picture);
  end;
except
 begin
   DMFriends.tFriendsPhoto.LoadFromFile(OpenPictureDialog.FileName);
 end;
  Bitmap.Free;
  JPEG.Free;
end;
end;


 
NeedHelp   (2005-01-22 01:20) [3]

nu ili hotjabi podskazhite kak ispol"zovat" StretchBlt funkciju?? Ja neumeju =( .. budu o4en" blagodarna esli pomozhite =))


 
Jel ©   (2005-01-22 02:11) [4]

Во-первых Bitmap и JPEG будут освобожден только если возникнет исключение - вызов Free для них находится в блоке except.

Во-вторых - DMFriends.tFriendsPhoto.Assign(DBImage1.Picture);
что такое tFriendsPhoto и DMFriends?

В третьих - что происходит при попытке компиляции кода, и если он компилируется, что происходит при его запуске?


 
NeedHelp   (2005-01-22 02:50) [5]

=)) tjaaks
1.
Bitmap.Free; JPEG.Free; - vi navernoe nezametili no oni nahodjatsja posle expect , no ja 4utok sej4as peredelala strukturu. shas lu4she =)
2.
DMFriends-TDataModule
tFriends-TTable
3. a v tretih ja neponjala vopros =((( nuu vot =((
Sej4as kod vigljadit tak:
procedure TfEdit.LoadClick(Sender: TObject);
var
bmph,bmpw, dif:integer;
JPEG: TJPEGImage;
Bitmap: TBitmap;
begin
JPEG := TJPEGImage.Create;
Bitmap := TBitmap.Create;
try
  begin
     JPEG.LoadFromFile(OpenPictureDialog.FileName);
     Bitmap.Assign(JPEG);
     // opredeljaet parametri bitmap, i umen"shaet image okono sohranjaja proporcii
     bmph:= Bitmap.Height;
     bmpw:= Bitmap.Width;
     if bmph>bmpw then
         begin
           DBImage1.Height:=160;
           DBImage1.Width:=120;
           //      dif:=bmph div 125;
           //      DBImage1.height:=bmph div dif;
           //      DBImage1.width:=bmpw div dif;
         end;
     if bmph<bmpw then
         begin
           DBImage1.Height:=120;
           DBImage1.Width:=160;
           //      dif:=bmpw div 125;
           //      DBImage1.height:=bmph div dif;
           //      DBImage1.width:=bmpw div dif;
         end;
     DBImage1.Picture.Assign(Bitmap);
     DMFriends.tFriendsPhoto.Assign(DBImage1.Picture);
     Bitmap.Free;
     JPEG.Free;
  end;
except
 begin
   DMFriends.tFriendsPhoto.LoadFromFile(OpenPictureDialog.FileName);
 end;
end;
end;

No tak i tak vikidivaet tabli4ku "Bitmap image is not valid" pri zagruzki kartinki, a glavnoe kogda ja zagruzhaju kartinku s formatom 800 x 600 to programka rabotaet no kogda zagruzhaju kartinki 1600 x 1200 =(( k sozhaleniju programka vibrasivaet etu oshibku =(
poetomu ja i hotela izmenit"razmer kartinki.. a kak eto sdelat"??? neznaju.. pomogite pozhalujsjtaaa


 
Defunct ©   (2005-01-22 03:03) [6]

Создать картинку фиксированного размера (ее потом сохранять в базу) и нарисовать на ней открытую картинку.

var
 b1, b2: TBitmap;

begin
 b1 := TBitmap.Create;
 try
    b1.LoadFromFile("...");
    b2 := TBitmap.Create;
    try
       b2.Width := 200;
       b2.Height := 200;
       b2.Canvas.StretchDraw( Rect(0,0,200,200), B1);
   
       // сохраняем b2 в базу
    finally
       b2.free
    end
 finally
    b1.free
 end
end;


 
GotHelp   (2005-01-22 03:20) [7]

Defuct, spasibo =))
Segodnja probovat" nebudu.. ustala =((
A zavtra ja nadejus" ona zarabotaet tak kak nado =))))
Spasibo vsem za pomosh =))



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

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

Наверх




Память: 0.49 MB
Время: 0.03 c
6-1100941387
l.a_
2004-11-20 12:03
2005.02.06
Как отправить файл на почту на чистом Delphi


1-1106291256
Fantom
2005-01-21 10:07
2005.02.06
Запуск одной копии программы и обнаружение ее при повторном запус


1-1106438788
FFFFF
2005-01-23 03:06
2005.02.06
Как запретить внесение изменений Items в ComboBox?


8-1098638844
aladdin
2004-10-24 21:27
2005.02.06
Видео плеер


6-1100790430
Vika_cc
2004-11-18 18:07
2005.02.06
IdSMTP