Sprememga velikosti JPG slike

Vse o večpredstavnosti (zvok, video, DirectShow in podobno).
Odgovori
Xmaster
Prispevkov: 75
Pridružen: 06.06.2004 17:00:01

Sprememga velikosti JPG slike

Odgovor Napisal/-a Xmaster » 19.07.2007 17:24:11

A kdo slučajno ve kako bi lahko spremenil velikost JPG sliki?
www.debersek.com

Silver_War
Prispevkov: 664
Pridružen: 01.06.2004 14:50:41

Sprememga velikosti JPG slike

Odgovor Napisal/-a Silver_War » 19.07.2007 20:44:51

A si lahko malo bolj natančen. A hočeš spreminjat resolucijo slike, al hočeš samo pridobiti na velikosti datoteke z večjo optimizacijo?

Xmaster
Prispevkov: 75
Pridružen: 06.06.2004 17:00:01

Sprememga velikosti JPG slike

Odgovor Napisal/-a Xmaster » 19.07.2007 21:34:40

Oboje je odgovor na tvoje vprašanje, ampak prioriteta je sprememba resolucije.
www.debersek.com

Silver_War
Prispevkov: 664
Pridružen: 01.06.2004 14:50:41

Sprememga velikosti JPG slike

Odgovor Napisal/-a Silver_War » 20.07.2007 07:18:38

Mislim da boš odgovor na oboje našel v examplu, ki se nahaja v Delphi7\Help\Examples\JPEG. Sem čisto pozabil na njega, drugače bi ti že včeraj to sporočil.

SLOwMAN
Prispevkov: 251
Pridružen: 04.05.2004 21:06:09

Sprememga velikosti JPG slike

Odgovor Napisal/-a SLOwMAN » 20.07.2007 14:18:43

se mi je zdelo, da sem to že nekje videl in glej ga zlomka :) ... www.planet-source-code.com ... sicer nisem testiral ...
The code resizes any timage-object to a any wished areas. For example if a picture of 640X480 pixel should be displayed in a panel with a width = 200 and height = 200, the picture will keep its proportion between width and height and fits in the panel.

Koda: Izberi vse

procedure ResizePicture(Mainp:Timage;xmax,ymax:integer);
    var MainpX,MainpY,FormY,FormX,a,b,Faktor:Real;
    begin
    mainp.stretch := False;
    mainp.autosize := True;
    mainp.stretch := true;
    mainp.autosize := false;
    a := mainp.Width / xmax;
    b := mainp.Height / ymax;
    MainpX := Mainp.width;
    MainpY := Mainp.height;
    FormX := xmax ;
    FormY := ymax;
    If a >= b Then
    Begin
    faktor := mainpX / FormX;
    mainpX := FormX;
    mainpY := mainpY / faktor;
    End;
    If a < b Then
    Begin
    Faktor := mainpY / FormY;
    mainpY := FormY;
    mainpX := mainpX / faktor;
    End;
    Mainp.width:=Trunc(MainpX);
    Mainp.height:=Trunc(MainpY);
    end;  

... lahko pa sporočiš kako dela ... lp

Uporabniški avatar
Runner
Prispevkov: 1079
Pridružen: 03.02.2005 12:05:25

Sprememga velikosti JPG slike

Odgovor Napisal/-a Runner » 20.07.2007 17:00:23

Ok resize je itak preprost. Prav tako nastavljanje kakovosti JPEG slike. Vse to ti nudi TJPEGImage class.

CompressionQuality skrbi za razmerje med kvaliteto in velikostjo.

Kar pa se resiza tiče boš pa dobil slab rezultat če boš sliko samo pomanjšal / povečal. Potrebno je uporabiti še določene filtre pri tem. Recimo Graphics32 ima vse to že vgrajeno in rešeno, tako da se ti ni treba ubadati s tem.

Xmaster
Prispevkov: 75
Pridružen: 06.06.2004 17:00:01

Sprememga velikosti JPG slike

Odgovor Napisal/-a Xmaster » 24.07.2007 22:59:07

Tale Graphics32 je res ok ampak ne vem kaj delam narobe, še vedno mi ne shrane slike v tako resolucijo kot bi želel.
Ne vem no, ene boge 1024x768 slike ne morem raztegnit na 640x480 :o
www.debersek.com

Uporabniški avatar
Runner
Prispevkov: 1079
Pridružen: 03.02.2005 12:05:25

Sprememga velikosti JPG slike

Odgovor Napisal/-a Runner » 25.07.2007 08:19:02

Si pogledal primere ki so zraven knjižnice. Tam je lepo prikazan tudi resize s filtri vred.

Uporabniški avatar
Runner
Prispevkov: 1079
Pridružen: 03.02.2005 12:05:25

Sprememga velikosti JPG slike

Odgovor Napisal/-a Runner » 25.07.2007 08:21:37

Evo poglej ti tale primer : "Examples\Vcl\General\Image32_Ex"

Tam imaš parametra "ScaleMode" in "Kernel". Poglej kodo in boš točno videl kako se vse skupaj izvede.

Uporabniški avatar
JernejL
Prispevkov: 1292
Pridružen: 17.11.2001 10:14:23
Kontakt:

Sprememga velikosti JPG slike

Odgovor Napisal/-a JernejL » 25.07.2007 11:10:50

googlaj po vampyre imaging library, dela super za rescaling (in downscaling) slik, z različnimi filtri.
Zadnjič spremenil JernejL, dne 25.07.2007 11:11:09, skupaj popravljeno 1 krat.
Igre in Delphi - WIP projekt, ki traja že od leta 2003. [url]http://mathpudding.com/[/url]

Odgovori