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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.037 c
1-1106303298
Tomkat
2005-01-21 13:28
2005.02.06
Net Send из приложения


14-1105697193
Shaman_Naydak
2005-01-14 13:06
2005.02.06
Kylix oидам! Помогите плиз


14-1105894953
Aleksandr
2005-01-16 20:02
2005.02.06
Подскажите, как выташить иконку из ехе файла.


6-1101290910
Титков Эдуард
2004-11-24 13:08
2005.02.06
Звонилка!


3-1105203859
opoloXAI
2005-01-08 20:04
2005.02.06
Обновление данных в таблице при подключении через TADOTAble.





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