Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Promjena rezolucije slike.... kako???

[es] :: Pascal / Delphi / Kylix :: Promjena rezolucije slike.... kako???

[ Pregleda: 2942 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Igor Kovačević

Član broj: 12736
Poruke: 244
*.cmu.carnet.hr



Profil

icon Promjena rezolucije slike.... kako???03.07.2004. u 17:50 - pre 241 meseci
sve ide odlično: učitam sliku i kad kliknem na gumb on joj promijeni veličinu (sve je odlino, čak sam napravio da bude u omjeru) ali kad želim tu sliku sačuvat onda mi se sačuva on slika koju sam učitao .. znači ako sam učitao sliku od 600x600 ona mi se neće spremit kao 100x100 (iako joj u programu promijenim veličinu) nego se ponovno sprema kao 600x600...
Kako da riješim taj problem?

Hvala!
In nature, nothing is ever right. Therefore, if everything is going right ... something is wrong.
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
213.184.102.*

Sajt: www.diy-fever.com


+1 Profil

icon Re: Promjena rezolucije slike.... kako???04.07.2004. u 18:54 - pre 241 meseci
a kako ti menjas velicinu?
ako radis samo sa promenom svojstva Width i Height to ne moze, to je samo promena velicine za prikaz, u memoriji je i dalje ista. Ako ne ne mogu da ti pomognem :)
PS ako je prvi slucaj kazi pa da ti posaljem kod kako se to radi
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

Igor Kovačević

Član broj: 12736
Poruke: 244
*.cmu.carnet.hr



Profil

icon Re: Promjena rezolucije slike.... kako???04.07.2004. u 21:58 - pre 241 meseci
Da, ja sam radio sa Width i Height ali sam shvatio i sam da to ne ide.. a nisam imao ideje šta dalje pokušati..

Ako možeš pošalji kod.

Hvala!
In nature, nothing is ever right. Therefore, if everything is going right ... something is wrong.
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
*.teleportgroup.net

Sajt: www.diy-fever.com


+1 Profil

icon Re: Promjena rezolucije slike.... kako???05.07.2004. u 00:45 - pre 241 meseci
imam, ali funkcionise samo za JPG, ako hoces ovako, konverujes u jpg, resizujes i onda vratis u bitmap.
evo koda:

Code:

unit JpegConv;

interface 

uses Windows, Graphics, SysUtils, Classes; 

procedure CreateThumbnail(InStream, OutStream: TStream; 
  Width, Height: Integer; FillColor: TColor=clWhite); overload;
procedure CreateThumbnail(const InFileName, OutFileName: string; 
  Width, Height: Integer; FillColor: TColor=clWhite); overload; 

implementation 

uses Jpeg; 

procedure CreateThumbnail(InStream, OutStream: TStream; 
  Width, Height: Integer; FillColor: TColor=clWhite); 
var 
  JpegImage: TJpegImage; 
  Bitmap: TBitmap; 
  Ratio: Double; 
  ARect: TRect; 
  AHeight, AHeightOffset: Integer; 
  AWidth, AWidthOffset: Integer; 
begin 
//  Check for invalid parameters 
  if Width<1 then 
    raise Exception.Create('Invalid Width'); 
  if Height<1 then 
    raise Exception.Create('Invalid Height'); 
  JpegImage:=TJpegImage.Create; 
  try 
//  Load the image 
    JpegImage.LoadFromStream(InStream); 
// Create bitmap, and calculate parameters 
    Bitmap:=TBitmap.Create; 
    try 
      Ratio:=JpegImage.Width/JpegImage.Height; 
      if Ratio>1 then 
      begin 
        AHeight:=Round(Width/Ratio); 
        AHeightOffset:=(Height-AHeight) div 2; 
        AWidth:=Width; 
        AWidthOffset:=0; 
      end 
      else 
      begin 
        AWidth:=Round(Height*Ratio); 
        AWidthOffset:=(Width-AWidth) div 2; 
        AHeight:=Height; 
        AHeightOffset:=0; 
      end; 
      Bitmap.Width:=Width; 
      Bitmap.Height:=Height; 
      Bitmap.Canvas.Brush.Color:=FillColor; 
      Bitmap.Canvas.FillRect(Rect(0,0,Width,Height)); 
// StretchDraw original image 
      ARect:=Rect(AWidthOffset,AHeightOffset,AWidth+AWidthOffset,AHeight+AHeightOffset); 
      Bitmap.Canvas.StretchDraw(ARect,JpegImage); 
// Assign back to the Jpeg, and save to the file 
      JpegImage.Assign(Bitmap); 
      JpegImage.SaveToStream(OutStream); 
    finally 
      Bitmap.Free; 
    end; 
  finally 
    JpegImage.Free; 
  end; 
end; 

procedure CreateThumbnail(const InFileName, OutFileName: string; 
  Width, Height: Integer; FillColor: TColor=clWhite); overload; 
var 
  InStream, OutStream: TFileStream; 
begin 
  InStream:=TFileStream.Create(InFileName,fmOpenRead); 
  try 
    OutStream:=TFileStream.Create(OutFileName,fmOpenWrite or fmCreate); 
    try 
      CreateThumbnail(InStream,OutStream,Width,Height,FillColor); 
    finally 
      OutStream.Free; 
    end; 
  finally 
    InStream.Free; 
  end; 
end; 

end. 


Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

Igor Kovačević

Član broj: 12736
Poruke: 244
*.cmu.carnet.hr



Profil

icon Re: Promjena rezolucije slike.... kako???05.07.2004. u 14:27 - pre 241 meseci
Ma to legendo, živio 100 godina!!!

Pozdrav!
In nature, nothing is ever right. Therefore, if everything is going right ... something is wrong.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Promjena rezolucije slike.... kako???

[ Pregleda: 2942 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.