mboost-dp1

At tegne på et billede i en web-form


Gå til bund
Gravatar #1 - BlackFalcon
15. maj 2010 15:46
Hej,

Jeg er ved at lave en webside for en kiropraktiker-ven, hvor man bl.a skal kunne tegne på et vist billede (en skitse af et menneske). Det var tanken at folk skulle kunne tegne med musen på kroppen for at markere hvor de lider (cirkel, streg, kryds el. lign). Sluttelig skal billede med markeringer gemmes som fil (server side).

Er der nogen af jer der kender sådan en komponent til ASP.Net eller måske bare har set noget lignende implementeret på nettet? Eller evt. kan hjælpe mig med hvad den slags 'tool' kaldes?

Der skal kun bruges én slags pen, altså ikke noget avanceret med valg af farve, selection, undo og osv. Spørg gerne hvis jeg skal uddybe noget.

På forhånd tak for hjælpen
Gravatar #2 - Windcape
15. maj 2010 15:53
Du har 2 (3) muligheder: Enten laver du det i Javascript, som er rent clientside, og sender dataen som noget AJAX til serveren bagefter.

Eller også koder du det i Silverlight/Flash.

Det er ikke noget du laver som "komponent" i ASP.NET WebForms. Og det ville være forholdsvis kompliceret at lave i Javascript.

Silverlight ville være en god løsning, og nemt at lave hvis du allerede kan kode i .NET. Men du skal nok regne med at sætte et par dage af til det, og en uges tid til at lære XAML.

Flash vil jeg ikke kommentere på :p
Gravatar #3 - BlackFalcon
15. maj 2010 15:59
#2
Tak for input.
Flash vil jeg helst undgå da det gerne skal køre problemfrit på flere platforme inkl. Mac og Linux.

Jeg har dog i skrivende stund lige fundet et par løsninger hvoraf den ene tilsyneladene er en komponent til ca. 200$ men tilgengæld fra ASP.Net 1.0-æraen :(. Den anden er jeg endnu ikke sikker på hvad er bygget over.

Jeg ville helst undgå at skulle kode det fra bunden :) - der må næsten være nogen der har gjort det...
Gravatar #4 - Windcape
15. maj 2010 16:04
BlackFalcon (3) skrev:
Jeg ville helst undgå at skulle kode det fra bunden :) - der må næsten være nogen der har gjort det...
Du spørger efter noget man typisk koder i Flash, Silverlight eller Canvas (HTML5).

Så skal du ikke forvente at der er nogen som har skrevet det til alm. Javascript!

BlackFalcon (3) skrev:
Flash vil jeg helst undgå da det gerne skal køre problemfrit på flere platforme inkl. Mac og Linux.
Moonlight (Silverlight på Linux/Mac) virker nu fint, specielt til simple ting som dette her.

Men Flash ville nok være den "rigtige" løsning her.

Jeg vil mene det er direkte forkert at forsøge at kode det i Javascript.

Og så har ASP.NET intet med denne her problemstilling at gøre overhovedet! Det eneste problem her er clientside.

Men med hvad du snakker om ville et imagemap næsten kunne gøre det. Mere simpelt, men simpelt er nu engang godt.

http://www.w3schools.com/tags/tag_map.asp
Gravatar #5 - BlackFalcon
15. maj 2010 16:14
#4
Det er vel ikke utænkeligt at nogen har lavet det før mig, uanset om det er i flash, javascript eller silverlight. Jeg beder blot om hjælp til at finde løsningen, om jeg så skal betale for at bruge den er ligemeget, bare den kan integreres i min løsning på den teknologiske platform jeg har til rådighed.

Men dit tip om <map> tagget er glimrende. Den kan dog ikke bruges til at angive flere samtidige 'smerter', men måske kan det klares ved at gemme flere skitser. Det vil jeg tage op med min kiropraktiker-ven.
Gravatar #6 - Windcape
15. maj 2010 16:18
BlackFalcon (5) skrev:
Den kan dog ikke bruges til at angive flere samtidige 'smerter', men måske kan det klares ved at gemme flere skitser.
Med lidt Javascript kan det godt.

Du kan tilføje et onclick event, der tilføjer et overlay til den del af kroppen der er klikket på, og så tillade valg af flere. Dataen gemmer du i et skjult <input> felt, som du så sender og parser senere.

Det er muligt det er lavet før, men ikke svært at lære og kode selv. Med et imagemap vil jeg vurdere du kan lære det, og kode det på et par timer.

"Advanceret" javascript hjælp kan findes på eksperten.dk og stackoverflow.com
Gravatar #7 - D_V
15. maj 2010 16:23
En simpel løsning til dit problem kunne være at bruge img taggets ISMAP attribut, og så ellers markere koordinaterne med noget serverside behandling..
Gravatar #8 - Windcape
15. maj 2010 16:25
Addendum til #6 efter en god ide fra #7

Du kunne lave et submit for hvert klik, så "blinker" siden godt nok, men så kan du bruge viewstage til at holde styr på hvilke dele der er klikket på!

(Forudsagt at du bruger det klassike WebForms, men det lyder det til.)
Gravatar #9 - arne_v
15. maj 2010 16:58
#1

Jeg har liggende noget kode til en Java applet som man kan skrive med og uploade til server med.
Gravatar #10 - arne_v
15. maj 2010 17:04
#9

Den starter dog med blankt billede, men det kunne nemt ændres til at starte med et fast billede.
Gravatar #11 - onetreehell
15. maj 2010 17:53
Jeg mener at kunne huske at der var noget i html således man kunne bruge et almindeligt billede som form. Så poster den koordinaterne i billedet hvor man klikkede. Det ville nok være den aller mest simple metode, men jeg ved ikke så meget om det. Jeg hader at arbejde med web :-)
Gravatar #12 - D_V
15. maj 2010 18:26
#11

Var det jeg henviste til i #7, der er en lille smule info her.
http://www.elated.com/articles/creating-image-maps...

Se specifikt "Working out image map coordinates" sektionen.
Gravatar #13 - Windcape
15. maj 2010 18:54
#11 / #12

Det kræver stadig et POST request for hvert klik -.-

Derfor jeg synes en Silverlight løsning ville være bedre!
Gravatar #14 - D_V
15. maj 2010 19:40
#13, ikke nødvendigvis... Det kan sagtens klares via javascript.
Gravatar #15 - BlackFalcon
15. maj 2010 19:45
Jeg takker for de mange forslag - jeg vil lige vende mulighederne med min ven, da han afgør hvad der skal laves.

Skulle jeg selv vælge, ville jeg helt klart prøve Silverlight, men det går nok ikke, da Moonlight vel ikke er installeret som standard på Mac/Linux? Jeg må nok acceptere og delvis støtte, at alt hvad der kræver download af div. plugins inden brug, bliver formentlig fravalgt pga. det skal være let og hurtigt for kunden, som her godt kan være lidt oppe i årene.
Gravatar #16 - D_V
15. maj 2010 20:45
#15

Nej moonlight er ikke installeret standard i de fleste linux distro's, og det er silverlight heller ikke på mange windows installationer..
Hvis jeg endelig skulle vælge et plugin at bruge, selvom det ikke er nødvendigt i denne situation. Så ville jeg nok vælge flash, da det nok er det mest installerede plugin.

Gravatar #17 - arne_v
16. maj 2010 02:52
#15

Sig til hvis du skifter mening og vil have Java koden.
Gravatar #18 - meh
16. maj 2010 09:57
*Godmorgen addendum til #7

Arh når vi nu er helt derhenne, kunne map area* måske bruges.
Nu well gammel tech men support i langt de fleste browser.

Nu kunne man jo bare knalde det ned i en cookie via javascript, evt. med mouseover. Lidt omsonst but it works
Gravatar #19 - Windcape
16. maj 2010 10:46
D_V (14) skrev:
#13, ikke nødvendigvis... Det kan sagtens klares via javascript.
Men så har det intet med serverside behandling at gøre mere!

Mulighederne er mange, men hvis man ikke har mod på at skulle lære Javascript, Flash, Silverlight eller Java Applets, så kommer man jo ikke så langt!
Gravatar #20 - D_V
16. maj 2010 11:02
#19

Hvis der intet javascript, flash eller lign må være... Så kan du jo ikke undgå at der skal en pagereload til på vær request...
En simpel, mindre pæn måde at løse den på kunne være en lille iframe.. selvom det nok ikke er at anbefale, men da ville man kunne holde det hele serverside. med undtagelse at den ismap parameter på billedet.
Gravatar #21 - arntc
16. maj 2010 11:08
Du kan også lave det i OpenLaszlo og kompilere til DHTML eller Flash.
Gravatar #22 - arne_v
16. maj 2010 13:19
#21

Arbejde du med OpenLaszlo?
Gravatar #23 - arntc
16. maj 2010 22:19
#22

Har gjort mig mine erfaringer med det. Jeg synes faktisk det er en skide god måde at lave rigtige webapplikationer.

Jeg brugte det til nogle applikationer for snart et års tid siden, men desværre har openLaszlo's forcer ikke været påkrævet siden... Men jeg glæder mig stadig til der kommer et projekt som skriger laszlo til himlen :D
Gravatar #24 - arne_v
16. maj 2010 23:10
#23

OpenLaszlo er et interessant produkt, men det er ikke mit indtryk at det fylder meget på radarskærmen i Danmark.
Gravatar #25 - arntc
17. maj 2010 20:21
#23
Nej, og det er i grunden lidt ærgeligt. Når man tænker på hvor mange store applikationer der er udviklet i OL, og produktiv man kan være, specielt når der skal udvikles brugervenlige intuitive webapplikationer.
Gravatar #26 - Windcape
18. maj 2010 14:05
OpenLaszlo:

- Egetudviklet sprog = ingen udviklingsværktøjer
- Java Applets = /hate

Ingen overraskelse!
Gravatar #27 - arne_v
18. maj 2010 15:01
Windcape (26) skrev:
- Egetudviklet sprog = ingen udviklingsværktøjer


Der findes et Eclipse plugin!

Windcape (26) skrev:
- Java Applets = /hate


Smag og behag.

Men den pragmatiske bruger vil jo foretrække eksisterende Java kode fremfor kode i X der først skal skrives.
Gravatar #28 - Windcape
18. maj 2010 16:53
#27

Men med diverse populære javascript frameworks, Flash og Silverlight til rådighed, så er Java Applets altså *langt* væk i webudviklernes mindset!

Der er ingen som frivilligt vil arbejde med Applets.
Gravatar #29 - arne_v
18. maj 2010 16:58
#28

Det er vel en 12-15 år siden at Java applets var hot.

Men man kan jo godt bruge noget som ikke er hot, hvis det passer bedst.
Gravatar #30 - onetreehell
18. maj 2010 17:15
arne_v (29) skrev:
#28

Det er vel en 12-15 år siden at Java applets var hot.

Men man kan jo godt bruge noget som ikke er hot, hvis det passer bedst.

Lytter du aldrig til hvad Paris Hilton siger?! :)
Gravatar #31 - arne_v
18. maj 2010 17:20
#30

Nope.
Gravatar #32 - arne_v
18. maj 2010 17:21
#31 fortsat

Og jeg går ikke med dametaske og hvis jeg forsøgte at putte Sweety op i en taske, så ville han smække tænderne i mine fingre.
Gravatar #33 - røvskæg
18. maj 2010 17:22
Please hold dig til javascript / ajax !
- det kan lade sig gøre.
- det kræver ikke noget plugin.
- dit virker i alle browsere, hvis det laves rigtigt.
Gravatar #34 - XorpiZ
18. maj 2010 18:38
arne_v (29) skrev:
#28

Det er vel en 12-15 år siden at Java applets var hot.

Men man kan jo godt bruge noget som ikke er hot, hvis det passer bedst.


Vi har faktisk et program på jobbet (Fiery Command Workstation), der lige er kommet i en helt ny version - og det bruger Java til en del af funktionerne.. Det er vanvittigt og et gigantisk bøvl at få til at virke.

Den gamle version buggede endda, hvis man opdaterede sin Java.. Så desværre er det stadig i brug, selvom det er noget bras imho.
Gravatar #35 - arne_v
18. maj 2010 18:41
#34

Muligt.

Men det normale for at få en applet til at virke er man installerer Java og så virker appletten.
Gravatar #36 - XorpiZ
18. maj 2010 18:49
arne_v (35) skrev:
#34

Muligt.

Men det normale for at få en applet til at virke er man installerer Java og så virker appletten.


Sandt. Det var nu heller ikke fordi, jeg var uenig i det du skrev, det var mere ment som almen info :)
Gravatar #37 - markjensen
18. maj 2010 21:10
Jeg lavede engang et program i Java. Det var vanvittigt og et gigantisk bøvl at få til at virke.

Bare til almen info.
Gravatar #38 - arne_v
18. maj 2010 23:29
#37

Jeg har også for ca. 20 år siden forsøgt mig med Xlib programmering i assembler.

Gæt selv om det var nemt.
Gravatar #39 - Windcape
18. maj 2010 23:51
#38

Og det var vel på papir? :D Programmering på papir er et ret dødt konceptet i dag.
Gravatar #40 - arne_v
19. maj 2010 00:01
#39

Dog ikke.

Jeg har aldrig programmeret med hulkort/-strimler.

Tætteste var den linie printer vi havde som skulle bootes på en stak hulkort.

Gravatar #41 - markjensen
19. maj 2010 05:11
#39 Algoritmedesign er da bedst på papir :P. Men det er selvfølgelig også et stykke fra et egentligt program.

Jeg kan nu godt lide Java. Jeg har senest valgt det til min http-server i datanet - måske mest fordi det næsten er det eneste højniveausprog vi har brugt og lært.
Gravatar #42 - XorpiZ
19. maj 2010 05:56
markjensen (37) skrev:
Jeg lavede engang et program i Java. Det var vanvittigt og et gigantisk bøvl at få til at virke.

Bare til almen info.


Sødt.
Gravatar #43 - arntc
19. maj 2010 07:57
Windcape (26) skrev:
OpenLaszlo:

- Egetudviklet sprog = ingen udviklingsværktøjer


[ironi]Der findes da masser af udviklingsværktøjer til f.eks. Java, og det har Sun også selv udviklet...[/ironi]

Mht til behovet for udviklingsværktøjer, bruger du så Eclipse/Netbeans/Dreamweaver/Visual Studio til HTML/Javascript kodning? Nej vel?

OL er baseret på XML i sin opbygning og semantik, altså har jeg endnu ikke haft behov for andet end autocompletion, som der findes masser af plugins til, til forskellige editorer.
Gravatar #44 - Windcape
19. maj 2010 12:56
#43

Jeg bruger faktisk Visual Studio til Javascript, deres intellisense til JQuery er win.

Men her snakede jeg mere om værktøjer ala. Expression Blend.
Gravatar #45 - arne_v
19. maj 2010 13:22
#44

Altså WYSIWYG GUI builder?
Gravatar #46 - Windcape
19. maj 2010 13:48
#45

Ja, men til en mere moderne tankegang, end 90erns WYSIWYG :)

Blend laver f.eks. bedre kode end hvad en normal programmør ville gøre i hånden.
Gravatar #47 - arntc
22. maj 2010 08:58
#45

I min verden hænger produktivitet bare ikke nødvendigvis sammen med antallet af udviklingsværktøjer.

The right tool for the right job. Og OL er altså et overset værktøj til at løse en masse opgaver, som folk i dag løser med f.eks. javascript, men som kunne løses hurtigere og flottere med OL.
Gravatar #48 - arntc
23. maj 2010 09:18
mente selvfølgelig #46
Gravatar #49 - arne_v
23. maj 2010 13:07
#47

I det hele taget er WYSIWYG for programmering primært populært i MS verdenen.
Gravatar #50 - Windcape
23. maj 2010 14:37
arne_v (49) skrev:
I det hele taget er WYSIWYG for programmering primært populært i MS verdenen.
Har det ikke noget at gøre med at Microsoft er en af de eneste der udbyder værktøjer til formålet? ;-)
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login