gdlib, resize, manipulering, m.m.

Tags:    php

<< < 12 > >>
Jeg har gang i et lille projekt, men jeg ved ikke forfærdelig meget om gdlib og den salg, iøvrigt er mit php lidt rustens, mne det går jo nok

Første del af projektet, som denne tråd handler om, omhandler profilbilleder som jeg vil håntere på en bestem måde.

Jeg har forestillet mig at det skal foregå på denne måde:
1. Upload af billede, eller fra url (jpg, gif, bmp, png, dvs de gængse)
2. Hvis billedet har en bestemt størrelse 150*200px, bliver det blot gemt på serveren som "ID.jpg".
3. hvis det ikke har den førnævnte størrelse, men overholder propationerne (H/W == 200/150), bliver det resized og gemt som "ID.jpg"
4. Hvis det ikke overholder probationerne har jeg i tanker at man skal have mulighed for, som bruger, selv at beskære, zoome, etc.

punkt 1, 2 og 3 burde være ligetil, men jeg ved som sagt ikke meget om gdlib. punkt 4 haster ikke.

jeg har lavet en lille skitse:

[pre]
<?php
list($width, $height) = getimagesize("$billede");
if ($width == 150 && $height == 200/150) {
echo 'ok, save jpg';
}
elseif ($height/$width == 200/150) {
echo 'resize! ok, save jpg';
}
else {
echo 'edit! resize? save jpg';
}
?>
[/code]

Så håber jeg bare at der er nogen der har nogle gode idéer ;-)

NB!
Jeg kan ikke bruge java/javascipt eller andre ikke php/html/css relaterede ting til noget så spild endelig ikke tid på det.



Indlæg senest redigeret d. 08.06.2006 17:04 af Bruger #4414
Lyder da som en ganske spændende projekt :) der er det problem med gdlib at det ikke understøtter gif formatet da det er patenteret. Med hensyn til resize kan du måske få noget ud af at kigge her: http://dk.php.net/manual/da/function.imagecopyresized.php punkt 4 er du formentligt nødt til at have fat i noget javascript for at løse :)



gif formatet er et problem ja, men er du sikker på at gdlib ikke kan "læse" det? Ellers tak for linket, jeg vil kigge på det nåe jeg for tid og hvad angår punkt 4 er jeg ikke enig i at det er nødvendigt med en javascrit løsning, men jeg er dog også bekrymret for hvor recoursekrævende og besværlig en php løsning vil være. For at sige det som det er; javascript er som udgangspunkt client baceret og det må det ikke være.



gif formatet er et problem ja, men er du sikker på at gdlib ikke kan "læse" det? Ellers tak for linket, jeg vil kigge på det nåe jeg for tid og hvad angår punkt 4 er jeg ikke enig i at det er nødvendigt med en javascrit løsning, men jeg er dog også bekrymret for hvor recoursekrævende og besværlig en php løsning vil være. For at sige det som det er; javascript er som udgangspunkt client baceret og det må det ikke være.


GDLib kan sagtens læse OG outputte i gif-format. Forresten, så brug imagecopyresampled i stedet for imagecopyresized; det giver en bedre kvalitet af outputtet.

Din redigering vil nødvendigvis blive lavet som javascript - Forestil dig en løsning udelukkende i php: Brugene skal kontakte serveren hver gang de udfører en handling (ville skulle gøres uden for browseren, meget besværligt), og de kan ikke se resultatet af deres redigering.
Alt i alt tror jeg du vil få en meget dårlig løsning uden brug af javascript :)

På den anden side er billede-redigering i javascript også besværligt at lave - men på ingen måde umuligt!

Dit projekt lyder da spændende, held og lykke med det :)




Indlæg senest redigeret d. 10.06.2006 17:12 af Bruger #4575
tak for rådende.
Som jeg skrev tidligere, er jeg sikker på at det kan gøres i php, men som du selv skriver, så bliver det nok ikke særlig velfungerende.
Den løsning jeg nødvendigvis må have til punkt 4 SKAL fungere problemløst i alle nyere browsere, ie, ns, op, mz, etc. Jeg ved ikke særlig meget om javascript, men jeg kunne forestille mig at der kunne opstå nogle problemmer.
Kort sagt, det skal så vidt muligt være server baceret.



Du kan sagtens lave en løsning i javascript, som vil fungere i alle nyere browsere. Jeg har aldrig før rodet med billedemanipulering, men jeg er helt sikker på at det kan laves.

Dog, da du selv skriver, at du ikke kender meget til javascript, vil du nok blive nødsaget til at hyre en web-programmør (eller hvad du vil kalde ham/hende) til at udvikle applikationen.

Under alle omstændigheder vil du skulle lave billedemanipuleringsdelen i javascript - alt andet vil være umuligt (pånær flash måske :)).



ok så, jeg vil undersøge sagen. Og ja det er rigtigt at jeg ikke ved meget og javascript, men jeg har leget med en del andre sprog, så mon ikke at det vil kunne lykkedes for mig at sætte mig lidt ind i det.

Jeg vil dog stadig gerne høre nogle andres meninger, der er jo ingen af os der ved alt om det hele, så måske er der en anden løsning...



På "www.msdn.com -> Libary -> Web development -> HTML and CSS -> HTML and DHTML Reference" kan du finde mange brugbare informationer om javascript til IE. Når du har en fungerende løsning i IE tester og retter du i ff osv...

Brug google til at finde hjælp til javascript i andre browsere end IE - jeg har aldrig været i stand til at finde et brugbart site med info om javascript til andre browsere?



Det er jo netop det der irriterer mig ved js, jeg har problemmer nok med at få html/css til at fungerer ordenligt/ens i alle browsere og så er det jo lidt irriterende hvis man også skal til at gøre det samme js, ikke mindst fordi det formentligt er en hel del sværere.



Som hovedregel kan du sige at dit javascript vil fungere i alle browsere.

Dog kan der opstå problemer med reseverede variabler og funktioner er forskellige, og objekthåndtering (via ID) foregår meget anderledes mellem browserne. Selvfølgelig er der mange andre småting, som er forskellige - men søger du på google finder du hurtigt svaret på dine spørgsmål.

Når først dit script virker i internet explorer, er der som hovedregel ikke langt igen, før det også virker i de andre. (er min erfaring :))



Jeg har lige søgt internettet igennem, bare sådan skimmet det ;-)
Nuvel, jeg fandt faktisk ikke en eneste brugbar artikkel, msdn var altså lige lovlig kryptisk for mig.
Nu har jeg så skrevet en tråd i en usenet, måske er der nogen af genierne der der har et eller andet brugbart liggende så jeg ikke behøver at lave det hele selv.



<< < 12 > >>
t