[DEBIAN] [BASH] Imagemagick Resize Functie

Pagina: 1
Acties:

  • DJ-Visto
  • Registratie: Maart 2009
  • Laatst online: 22-12-2025

DJ-Visto

Aye aye, sir!

Topicstarter
Hallo Allemaal,

Ik heb na een tijdje een eigen server, dit is een windows server 2008 R2 met hyper-v onder hyper-v draait virtueel Debian voor mijn Apache, en ik wil er nog meer mee gaan doen. Dit is de echte eerste keer dat ik volledig met Debian aan de slag ga.

Ik ben nadat ik de Apache klaar had ben ik begonnen met een resize functie:
cd /home/reziserd ; cp /home/reziserd/* /var/www/images ; mogrify -resize 640x480! *.jpg *.JPG *.PNG *.png *.GIF *.gif ; rm /home/resizerd/*

Ok dit werkt, alleen ik loop tegen een paar problemen aan die ik niet kan oplossen. Ik zoek dus een oplossing & of in de richting waar ik moet kijken.

Voor de resize functie heb ik imagemagick geïnstalleerd. Ik heb al op hun website gezocht naar de volgende vragen & of op google (het zijn namelijk niet allemaal imagemick functies)

Hoe meet ik een image in pixel (heb al gevonden in inches)
Hoe maak ik daar een scriptje van die zegt of de foto moet worden geresized of niet (dit om kleineren foto's niet te laten uitreken)
Hoe zorg ik dat ik dat de bestandsnaam worden aangepast naar fotooxxx640x480.jpg(of anderen extensies) + hoe zorg ik dat de originele foto niet wordt aangetast maar ook wordt geupload /me Aantasten van de originele foto gebeurt namelijk nu ook

Alvast bedankt voor tips & suggesties!

- Vincent

  • Mike2k
  • Registratie: Mei 2002
  • Laatst online: 12-12-2025

Mike2k

Zone grote vuurbal jonge! BAM!

Ik heb geen antwoord op je vraag, maar als je wel verstand hebt van php kan je dit ook met php doen...
een simpele apt-get install php5-cli en je kan php scripts vanaf de commandline draaien...

You definitely rate about a 9.0 on my weird-shit-o-meter
Chuck Norris doesn't dial the wrong number. You answer the wrong phone.


  • netranger1989
  • Registratie: April 2009
  • Laatst online: 13-01 21:46
mischien heb je hier iets aan mogrify. Dit is gewoon een standaard commando in linux :) en kan resizen in pixels. Hoe je hier een script van maakt moet je denk ik zelf uitzoeken omdat dit nogal specifiek is aan de eisen van de beheerder.

Succes ermee 8)

  • DJ-Visto
  • Registratie: Maart 2009
  • Laatst online: 22-12-2025

DJ-Visto

Aye aye, sir!

Topicstarter
Fastex schreef op woensdag 19 augustus 2009 @ 15:03:
Ik heb geen antwoord op je vraag, maar als je wel verstand hebt van php kan je dit ook met php doen...
een simpele apt-get install php5-cli en je kan php scripts vanaf de commandline draaien...
Ik heb verstand van PHP genoeg omdat misschien te kunnen doen, maar ik vindt het eigenlijk een beetje omzeilen van 't probleem :+ Maar wel bedankt heb het pakket wel geinstalleerd!
netranger1989 schreef op woensdag 19 augustus 2009 @ 15:04:
mischien heb je hier iets aan mogrify. Dit is gewoon een standaard commando in linux :) en kan resizen in pixels. Hoe je hier een script van maakt moet je denk ik zelf uitzoeken omdat dit nogal specifiek is aan de eisen van de beheerder.

Succes ermee 8)
Sorry dat ik je afval maar dat gebruik ik al 8)
En dat script wat ik nu heb loop ik dus op vast.

[ Voor 34% gewijzigd door DJ-Visto op 19-08-2009 15:09 ]


  • Mike2k
  • Registratie: Mei 2002
  • Laatst online: 12-12-2025

Mike2k

Zone grote vuurbal jonge! BAM!

DJ-Visto schreef op woensdag 19 augustus 2009 @ 15:08:
[...]

Ik heb verstand van PHP genoeg omdat misschien te kunnen doen, maar ik vindt het eigenlijk een beetje omzeilen van 't probleem :+ Maar wel bedankt heb het pakket wel geinstalleerd!

[...]

Sorry dat ik je afval maar dat gebruik ik al 8)
En dat script wat ik nu heb loop ik dus op vast.
Als je dit met php wil gaan doen, dan moet je de GD library gebruiken....
Als die nog niet geinstalleerd is: apt-get install php5-gd OF php-gd (weet even niet welke het is, maar dat vertelt aptitude je vanzelf ;))

You definitely rate about a 9.0 on my weird-shit-o-meter
Chuck Norris doesn't dial the wrong number. You answer the wrong phone.


  • DJ-Visto
  • Registratie: Maart 2009
  • Laatst online: 22-12-2025

DJ-Visto

Aye aye, sir!

Topicstarter
Fastex schreef op woensdag 19 augustus 2009 @ 15:14:
[...]

Als je dit met php wil gaan doen, dan moet je de GD library gebruiken....
Als die nog niet geinstalleerd is: apt-get install php5-gd OF php-gd (weet even niet welke het is, maar dat vertelt aptitude je vanzelf ;))
Ik weet het maar ik wil graag wat leren over BASH dus, wel bedankt! Dit is wel handig voor als ik PHP command wil uitvoeren als ik op school zit :9

Verwijderd

http://www.php.net/imagick
http://packages.debian.org/lenny/php5-imagick

Kan je dimensies mee krijgen en dezelfde dingen doen als de CLI versie.

Edit:
code:
1
convert /home/reziserd/input/* -resize 640x480!\> /home/reziserd/output

[ Voor 24% gewijzigd door Verwijderd op 19-08-2009 15:31 ]


  • DJ-Visto
  • Registratie: Maart 2009
  • Laatst online: 22-12-2025

DJ-Visto

Aye aye, sir!

Topicstarter
Verwijderd schreef op woensdag 19 augustus 2009 @ 15:21:
http://www.php.net/imagick
http://packages.debian.org/lenny/php5-imagick

Kan je dimensies mee krijgen en dezelfde dingen doen als de CLI versie.

Edit:
code:
1
convert /home/reziserd/input/* -resize 640x480!\> /home/reziserd/output
Waar moet ik dit in mijn code nu plaatsen?

code:
1
cd /home/reziserd ; cp /home/reziserd/* /var/www/images ; mogrify -resize 640x480! *.jpg *.JPG *.PNG *.png *.GIF *.gif ; rm /home/resizerd/*


zo dus?
code:
1
cd /home/reziserd ; convert /home/reziserd/* -resize 640x480!\> /var/www/images ; rm /home/resizerd/*

[ Voor 10% gewijzigd door DJ-Visto op 19-08-2009 15:38 ]


Verwijderd

In plaats van je huidige regel ;)

  • DJ-Visto
  • Registratie: Maart 2009
  • Laatst online: 22-12-2025

DJ-Visto

Aye aye, sir!

Topicstarter
nog meer pakketen installeren, en natuurlijk nog de remover moet er bij :P

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op woensdag 19 augustus 2009 @ 15:21:
http://www.php.net/imagick
http://packages.debian.org/lenny/php5-imagick

Kan je dimensies mee krijgen en dezelfde dingen doen als de CLI versie.

Edit:
code:
1
convert /home/reziserd/input/* -resize 640x480!\> /home/reziserd/output
Staat die backslash niet verkeerd? Nu escape je de ">" wat juist niet escaped moet worden lijkt me en een ! un-escaped in een Bash line geeft bij mij vaak hele foute niet-werkende dingen :P

Iets met history ofzo, dat uitroepteken. Al lijkt me > naar een map ook niet echt goed werken, dus misschien dat die backslash wél OK is, maar dan zou ik graag wat uitleg daarover willen :P

[ Voor 14% gewijzigd door Osiris op 19-08-2009 15:54 ]


  • netranger1989
  • Registratie: April 2009
  • Laatst online: 13-01 21:46
Ik neem aan dat je bash gebruikt mischien kan dit je dan helpen

#!/bin/bash
#
# Created by Netranger1989 - http://kns-it.nl

condir=converted
if [ ! -d $condir ];then mkdir -p $condir;fi

# Convert to jpg and create thumbnails
echo -e "backing up originals...\n"
cp *.png originals
echo -e "converting to jpg...\n"
mogrify -format jpg *.png
echo -e "copying to converted directory...\n"
cp *.jpg $condir
echo -e "creating thumbnails...\n"
mogrify -resize <vul hier het aantal pixels in> *.jpg
for file in *.jpg ; do mv $file `echo $file | sed 's/\(.*\.\)jpg/thumb_\1jpg/'` ; done
mv *.jpg $condir
echo -e "cleaning up\n"
rm *.png

for file in $condir/thumb_*.jpg ; do
tempname=`echo $file | sed 's/thumb_\(.*\)/\1/'`;
echo "[url=${pagename}${tempname}][img]thumb_${tempname}[/img][/url]"
done


Deze moet je nog even in een cronjob zetten dit kun zelf wel neem ik aan.

Succes.

  • DJ-Visto
  • Registratie: Maart 2009
  • Laatst online: 22-12-2025

DJ-Visto

Aye aye, sir!

Topicstarter
Osiris schreef op woensdag 19 augustus 2009 @ 15:49:
[...]

Staat die backslash niet verkeerd? Nu escape je de ">" wat juist niet escaped moet worden lijkt me en een ! un-escaped in een Bash line geeft bij mij vaak hele foute niet-werkende dingen :P

Iets met history ofzo, dat uitroepteken. Al lijkt me > naar een map ook niet echt goed werken, dus misschien dat die backslash wél OK is, maar dan zou ik graag wat uitleg daarover willen :P
Ja klopt die /> heb ik weggehaalt, met dit wat ik nu heb:
code:
1
convert /home/reziserd/* -resize 640x480! /var/www/images/*

Krijg dan alleen vagen files met dit soort namen terug (in /var/www/images/)
_2JDZC~8
_2JDZC~9
_2JDZC~A
_B6KUE~E
_B6KUE~F
Zonder extensie. (en zonder inhoud)! Als ik het zo doe:

code:
1
convert /home/reziserd/screenshot.png -resize 640x480! /var/www/images/*

werkt 't wel weer en ook als ik dit doe:
code:
1
convert /home/reziserd/*.png -resize 640x480! /var/www/images/*

dus dan moet ik er weer extensies achter plakken, en de originelen blijven ook bewaard maar dan ga ik zo verder met het automatisch renamen en het origineel + de thumbnail te uploaden.
netranger1989 schreef op woensdag 19 augustus 2009 @ 15:52:
Ik neem aan dat je bash gebruikt mischien kan dit je dan helpen

#!/bin/bash
#
# Created by Netranger1989 - http://kns-it.nl

condir=converted
if [ ! -d $condir ];then mkdir -p $condir;fi

# Convert to jpg and create thumbnails
echo -e "backing up originals...\n"
cp *.png originals
echo -e "converting to jpg...\n"
mogrify -format jpg *.png
echo -e "copying to converted directory...\n"
cp *.jpg $condir
echo -e "creating thumbnails...\n"
mogrify -resize <vul hier het aantal pixels in> *.jpg
for file in *.jpg ; do mv $file `echo $file | sed 's/\(.*\.\)jpg/thumb_\1jpg/'` ; done
mv *.jpg $condir
echo -e "cleaning up\n"
rm *.png

for file in $condir/thumb_*.jpg ; do
tempname=`echo $file | sed 's/thumb_\(.*\)/\1/'`;
echo "[url=${pagename}${tempname}][afbeelding][/url]"
done


Deze moet je nog even in een cronjob zetten dit kun zelf wel neem ik aan.

Succes.
Dank je wel! Ik ga er eerst er zelf mee stoeien, als het me echt niet lukt neem ik die van jouw.

[ Voor 9% gewijzigd door DJ-Visto op 19-08-2009 16:14 ]

Pagina: 1