Forum » Programska oprema » Avtomatski CROP za fotografijo
Avtomatski CROP za fotografijo
cegu ::
Imam opravka z fotografijami ki so dolge a ozke. Rad bi jih natisnil na več A4 strani tako, da bi bila širina točno širina A4 papirja.
Kako bi to storil najlažje?
Torej, kako naj razrežem fotografijo na več delov tako, da bo 'št. pik po širini' * 'št.pik po višini' ravno A4, da te slike odreže in jih shrani posamezno?
Kako bi to storil najlažje?
Torej, kako naj razrežem fotografijo na več delov tako, da bo 'št. pik po širini' * 'št.pik po višini' ravno A4, da te slike odreže in jih shrani posamezno?
cegu ::
Hvala lepa, sem ustvaril skripto in deluje.
Slike (moje so ozka in visoke) razreže na A aspect ratio, pokončno in ležeče. Da se mu na začetku povedati, ali naj bo to A4, A5 ali A3 in tudi koliko naj se naslednja slika prekriva s prejšnjo.
Ena težava ki jo imam notri je, da delam s slikami na disku e:, irfan view je pa na c:. Zato moram notri večkrat izvesti ukaz c:, kar pa ni dobro, saj imam na začetku programa zapisano lokacijo programa (torej če bi kdo drug imel v e-ju, bi moral spremeniti 3 parametre).
Slike (moje so ozka in visoke) razreže na A aspect ratio, pokončno in ležeče. Da se mu na začetku povedati, ali naj bo to A4, A5 ali A3 in tudi koliko naj se naslednja slika prekriva s prejšnjo.
Ena težava ki jo imam notri je, da delam s slikami na disku e:, irfan view je pa na c:. Zato moram notri večkrat izvesti ukaz c:, kar pa ni dobro, saj imam na začetku programa zapisano lokacijo programa (torej če bi kdo drug imel v e-ju, bi moral spremeniti 3 parametre).
:: Navodila: sliko daj v isto datoteko kot je batch.fajl. Samo ena fotka je lahko zraven. Ta jo bo razrezal na vec delov za print. :: Najvecja stevilka v cmd (int) je lahko 2147483647 :: Brez decimalnih številk @echo off :: Za koliko % naj bo velikost manjša od A4 (tezava s tiskanjem do roba). SET /P odrobu=Vnesi velikost v odstotkih (100 je A4, 141 je A3, 71 za A5) echo Velikost bo %odrobu% napram A4. :: Za koliko pik naj se slike prekrivajo SET /P prekrivanje=Vnesi stevilo pikslov za prekrivanje (0 brez prekrivanja) echo Prekrivanje bo %prekrivanje% pikslov. :: Lokacija programa Irfan View set iview="C:\Program Files (x86)\IrfanView\" :: Kam naj zapise zacasno datoteko (nepomembno za uporabnika) set IWinfo=%temp%\IWinfo.txt :: Lokacija slike - naj bo v isti mapi kot batch fajl. in naj bo samo ena! :: Lokacija novih slik cd "%~dp0" if not exist Pokoncno mkdir Pokoncno if not exist Lezece mkdir Lezece ::------- Pridobivanje informacije o sirini in visini ------- :: Zapiši začano info datoteko od slike, ki je zraven batch fajla. dp0 pove lokacijo, kjer je batch fajl c: cd %iview% i_view32.exe %~dp0\*.jpg /info=%IWinfo% :: Poisci sirino in visino ter ju shrani v spremenljivki 'width' in 'height' for /f "tokens=4,6" %%a IN ('type %IWinfo% ^| find "Image dimensions"') do (set /a width=%%a) & (set /a height=%%b) ::Definicija za A standard - aspect ratio. set /a pocez=841 set /a podolgem=1189 ::ker nimam decimalnih stevilk, uporabim ta trik (napaka ~1 piksel) set /a natancnost=2000 ::---POKONCNO ::izracun stevilo pikslov po višini (da bo ratio 841*1189, A pokoncno) set /a visina_pokoncno = %podolgem% * %natancnost% / %pocez% * %width% set /a visina_pokoncno = %visina_pokoncno% / %natancnost% ::izracun potrebnega DPI-ja, da fotka ravno pride na A4 pokoncno - brez izgub (za A3 je treba to premodificirati - 8.3 je širina v inčih za A4). set /a dpi = %width% * 100000 set /a dpi = %dpi% / 83 set /a dpi = %dpi% / %odrobu% * 100 set /a dpi = %dpi% / 10000 ::---LEZECE ::izracun stevilo pikslov po višini (da bo ratio 841*1189, A lezece) set /a visina_lezece = %pocez% * %natancnost% / %podolgem% * %width% set /a visina_lezece = %visina_lezece% / %natancnost% ::izracun potrebnega DPI-ja, da fotka ravno pride na A4 lezece 11.7 je višina v inčih za A4). set /a dpiL = %width% * 100000 set /a dpiL = %dpiL% / 117 set /a dpiL = %dpiL% / %odrobu% * 100 set /a dpiL = %dpiL% / 10000 :: rezanje c: cd %iview% set /a x2 = 0 :while1 if %x2% leq %height% ( set /a x2 = x2 + %visina_lezece% - %prekrivanje% i_view32.exe "%~dp0\*.jpg /crop=(0,%x2%,%width%,%visina_lezece%) /dpi=(%dpiL%,%dpiL%) /convert=Lezece\Lezece_%x2%.jpg" echo Lezece_%x2%.jpg naredil. goto :while1 ) set /a x = 0 :while2 if %x% leq %height% ( set /a x = x + %visina_pokoncno% - %prekrivanje% i_view32.exe "%~dp0\*.jpg /crop=(0,%x%,%width%,%visina_pokoncno%) /dpi=(%dpi%,%dpi%) /convert=Pokoncno\Pokoncno_%x%.jpg" echo Pokoncno_%x%.jpg naredil. goto :while2 ) :: izbrisi zacasno datoteko if exist %IWinfo% del %IWinfo% ::pause
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | batch fajl iz txt (strani: 1 2 )Oddelek: Programiranje | 9693 (8354) | b3D_950 |
» | Applova prireditev na voljo v živo prek spletaOddelek: Novice / Apple iPhone/iPad/iPod | 11484 (10003) | kpkp |
» | [bat datoteke] Trenutni datum in uraOddelek: Programiranje | 2491 (2248) | darkolord |
» | včerajšni datumOddelek: Programiranje | 1144 (1022) | ql000 |
» | Ime Priimek v Ime_Priimek (strani: 1 2 )Oddelek: Programska oprema | 4982 (3942) | Doman |