Avatar billede snorres Nybegynder
27. juni 2004 - 21:51 Der er 22 kommentarer og
1 løsning

Ændre dele af billed ud fra form

X Jeg har en formel på min side hvor man skal vælge øjen farve, hår farve, mm, og tænkte på om det kan lade sig gøre at lave et billed der automatisk opdatere efter hvad man vælger, så der er et standard ansigt på billedet og så kan man så skifte dele på det ved at vælge noget nyt i formlen.
Problemet er jo at der er MANGE muligheder, så hvis man kunne gøre så man bare ændrede dele af billedet ville det være perfekt. (Måske sammen med php?)

Billedet skal i øvrigt gemmes bag efter, så brugere har det, så hjælper ikke noget bare at smide andre billeder oven på det første :)

PÅ forhånd tusind tak :)
Avatar billede snorres Nybegynder
27. juni 2004 - 21:51 #1
måske sammen med java-script?
Avatar billede dadane Novice
27. juni 2004 - 22:12 #2
Der er adskillige muligheder.

1) Den med Javascript kan faktisk lade sig gøre, - men det er meget besværligt. Tror aldrig jeg har set nogen lave noget brugbart i det (altså at ændre indholdet af et billede på en brugbar måde).

2) Du kan som du nævner gøre det vha. PHP (gdLib biblioteket). Det kræver så at siden (eller i hvert fald billedet) bliver genindlæst ved hver ændring. Det er ikke så besværligt og kan gøres pænt.

3) Du kan vel bare have et antal gennemsigtige GIF eller PNG billeder som du stakker (dHTML). Nederst ligger måske ansigtsformen, så ovenpå den måde øjnene og så ovenpå igen håret etc.
Avatar billede C:\> Juniormester
27. juni 2004 - 22:43 #3
Den mest elegante og helstøbte måde at lave det på, må være i Java!
Avatar billede dadane Novice
27. juni 2004 - 22:53 #4
Ikke helt enig, - men hvis du ønsker at køre det i et klient-side sprog er Flash også værd at overveje.
Avatar billede C:\> Juniormester
27. juni 2004 - 22:57 #5
Der er jeg tilgengæld enig, men gud hvor jeg hader scripting i flash!
Avatar billede dadane Novice
27. juni 2004 - 23:01 #6
Tjaeh det er vel lidt OT, - men lige præcis Flash kan jeg faktisk slet ikke lave kode i, så jeg må tro dig på dit ord :)
Avatar billede snorres Nybegynder
28. juni 2004 - 11:42 #7
Ja flash ville ikke være helt dumt, men er der noget jeg slet ikke kan kode er det flash og java-script...

men hensyn til dit 3. forslag, er det ikke nogen god ide, da billedet skal gemmes :)

Tilgængæld vil jeg meget gerne høre mere om din mulighed 3, hvordan kan man evt. gøre det? Har arbejdet en del med at skrive tekster på billeder (www.goog.dk/pic)
men at sætte billeder på billeder, har jeg ingen andelse om hvordan man gør :)

Håber nogen kan komme med et lille stykke kode jeg kan arbejde videre på :)
Avatar billede dadane Novice
28. juni 2004 - 12:05 #8
På samme måde som det du gør. Komandoen der er "sjov" er så bare: ImageAlphaBlending.

Se: http://dk.php.net/manual/en/function.imagealphablending.php
Avatar billede snorres Nybegynder
28. juni 2004 - 17:02 #9
Fedt, nogen der kan give mig et eksempel og et svar, så kan jeg selv fikse resten :D

(eksempel på hvordan jeg får den til at opdatere direkte fra formen, altså noget java-script?)
Avatar billede dadane Novice
28. juni 2004 - 17:11 #10
<select name="oejnfarve" onchange="java script:document.location='<?=$PHP_SELF?>?oejnfarve=' + this.value">
    <option value="-">vælg</option>
    <option value="1">blå</option>
    <option value="2">grå</option>
</select>

Og så på serveren huske de øvrige data. Evt. med

<select name="oejnfarve" onchange="java script:document.location='<?=$PHP_SELF?>id=<?=$id?>&oejnfarve=' + this.value">

eller droppe at huske alt på serveren og have

<select name="oejnfarve" onchange="java script:document.location='<?=$PHP_SELF?>briller=<?=$briller?>&oejnfarve=' + this.value">

Samt naturligvis mange flere felter end bare oejnfarve og briller.
Avatar billede dadane Novice
28. juni 2004 - 17:13 #11
Der skulle have været et spørgsmålstegn efter <?=$PHP_SELF?> i de to sidste linjer
Avatar billede dadane Novice
28. juni 2004 - 17:16 #12
Iøvrigt - spændende site du har.

Hvis det var mig tror jeg dog jeg ville ændre to ting.

1 - give folk mulighed for selv at udloade baggrundsbillede
2 - måske fjerne muligheden for at se hvad folk skriver til hinanden.

Ad 1) Du skal nok slette billederne automatisk efter f.eks. 30 dage. Ellers kan det hurtigt fylde en del.
Derudover kan du jo lade folk have muligheden for hvorvidt andre må bruge deres billede. Siger de ja så giv andre muligheden for det med det samme.
Er der ingen - eller kun få - der gør det i løbet af de 30 dage så slet det. Er der mange der bruger det har du fået en god tilføjelse til dit site.
Avatar billede snorres Nybegynder
28. juni 2004 - 21:28 #13
det smarte er at billederne ikke ligger på serveren :)
folks intastninger bliver bare gemt i en database, og så bliver billedet lavet hver gang nogen henter det :)

Ja det skal jeg tænke lidt over, men problemet med at folk kan uploade billeder er at det 1. fylder en del 2. de skal skrive kordinater til hvor teksten skal stå, og nogen kan godt have lidt svært ved at finde kordinaterne ;)

Tusind tak for koden, kan slet ikke vente til at prøve det :)

jeg kan vel lave billede ti en iframe og så bruge
onchange="java script:document.location='billed.php?briller=<?=$briller?>&oejnfarve=' + this.value">

men jeg kan stadig ikke helt se hvordan man gør det med flere end bare en? hvordan husker den , de allerede valgte dele?
F.eks. når man tager ny øjen farve, hvordan husker den så den hår farve man har valgt?
Avatar billede dadane Novice
28. juni 2004 - 21:34 #14
Der er flere muligheder for hvordan den husker det.
Den jeg vil foretrække er at man får et unikt id når man laver et billede. Dette id gemmer du sammen med data (øjenfarve, hårfarve, brilletype etc.) i din database. Når noget ændres ændre du det også i databasen (med id'et fastholdes).

Den anden metode (som jeg har lagt lidt op til ovenstående) er at du har et antal variable. Og du læser dem så hver gang og skriver dem igen (pånær den ændrede).

Altså at din url (og jeg vil nøjes med billedet, - men en i-frame kan også virke) er:

billed.jpg?briller=<?=$_REQUEST['briller']?>&oejnfarve=<?=$_REQUEST['oejnfarve']&...&haarfarve=' + this.value

Hvis det er hårfarven du ændre. Hermed giver du den alle variable med, - men kun en er ændret.
Avatar billede dadane Novice
28. juni 2004 - 21:38 #15
Du har ret i at billeder fylder en del, - men du kan sætte en restriktion på at et billede f.eks. max må fylde 100 kb. Det giver dig imervæk mindst 1.000 billeder på 100 MB. Og det er begrænset hvad de fleste udbydere tager for 100 MB. Men ja - det vil da kræve resourcer og dermed i sidste ende penge.

Det med koordinater har du naturligvis ret i, - men det er nu heller ikke alle dine billeder der er lige optimale hvad det angår. Billedet med einstein synes jeg ikke passer alt for godt. Og der vil en anden skriftfarve iøvrigt også pynte gevaldigt (noget der ligner kridt).

Endeligt - hvorfor har du så mange spanske (formoder jeg det er) beskeder? Har du markedsført dig mere der eller noget? (Det er trods alt en .dk)
Avatar billede snorres Nybegynder
28. juni 2004 - 23:11 #16
ja tro mig, jeg har VIRKELIG prøvet at få det hvisdt, men lige meget hvad jeg gør, kan jeg ikek skfite farve :) syntes ellers jeg har prøvet alt :D:D
Det er helt tilfældigt, gav et par venner den, og de har så gevet den på mirc, og vupti, så havde alle mulige den :)
den anden dag var der en massse tyske beskeder :) så det kommer nok lidt an på hvor den sirgulere atm :)


Men hvordan får jeg den til at huske <?=$_REQUEST['briller']?>? vil den automatisk gøre det hvis jeg har sendt den engang??

og ja meget bedre bare at gøre det med et billed, havde jeg ikke lige tænkt på :)
Avatar billede dadane Novice
28. juni 2004 - 23:20 #17
<?=$_REQUEST['x']?> fortæller dig hvad du har sendt (med URL - altså http://www.minside.dk/page.php?x=3) eller via form (POST eller GET). Så hvis du så skriver

<a href="thisfile.php?x=<?=_REQUEST['x']?>"> så vil du bevare dit x.
Avatar billede snorres Nybegynder
29. juni 2004 - 00:02 #18
Ok det lyder godt, kan næsten ikke vente til at komme igang :D
Men er i frankrig lige nu, og sider på en 54k, så det er lidt drøjt...

Det ser ud til jeg ikke har gd2 :(
http://www.goog.dk/LoveHina/test.php
nogen forslag?
Avatar billede snorres Nybegynder
29. juni 2004 - 00:03 #19
Ku os være min kode hvem ved
<?php
$photoImage = ImageCreateFromJPEG('bg.jpg');
ImageAlphaBlending($photoImage, true);

$logoImage = ImageCreateFromPNG('linux.png');
$logoW = ImageSX($logoImage);
$logoH = ImageSY($logoImage);

ImageCopy($photoImage, $logoImage, 0, 0, 0, 0, $logoW, $logoH);

ImageJPEG($photoImage); // output to browser

ImageDestroy($photoImage);
ImageDestroy($logoImage);
?>
Avatar billede snorres Nybegynder
29. juni 2004 - 14:21 #20
Wuhu fik det til at virke med noget imagecopymerge istedet:)
http://www.goog.dk/LoveHina/test.htm
Avatar billede dadane Novice
29. juni 2004 - 23:15 #21
Du skal da have den som din fejl404!
Avatar billede dadane Novice
29. juni 2004 - 23:17 #22
Øh ups. Det er det du har.
Avatar billede snorres Nybegynder
30. juni 2004 - 11:59 #23
Hva skal være 404 side :S?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester