[albumprinter] Zelf templates maken

Pagina: 1
Acties:
  • 61 views sinds 30-01-2008

  • jlrensen
  • Registratie: Oktober 2000
  • Laatst online: 14-05 21:27

jlrensen

plaatjes vullen geen gaatjes

Topicstarter
De afgelopen dagen heb ik met Albumprinter lopen spelen. Dit is een (gratis) tool om (digitale) foto's in een digitaal fotoalbum te zetten, en te voorzien van commentaar. Het geheel kun je vervolgens laten afdrukken en thuissturen, zodat je toch een echt fotoalbum hebt.

Nu werkt het programma vrij aardig, maar liep ik toch tegen wat beperkingen op. Zo kent het programma een antal vaste paginastijlen, die opgeven waar de foto's staan, waar de texten staan, en hoe groot dat alles mag zijn. Deze waarden zijn echter niet zelf aan te passen, en als je dus iets anders wil, heb je pech.

Zo ook voor achtergronden op de pagina's: dat kan, maar slechts een beperkt aantal, en dan op iedere pagina dezelfde

Uit nieuwsgierigheid ben ik eens gaan kijken hoe die templates en opgeslagen albums er op fileniveau uitzien, en dan bleek vrij simpel te zijn: platte text, en een HTML-achtige opmaak. Met notepad (of je favoriete plain-text editor) kun de templates vrij gemakkelijk aanpassen, om een vak voor text of plaatjes in te voeren, te verwijderen of aan te passen, of om een (eigen) achtergrond per pagina verschillen in te stellen.

De globale opbouw van een template is als volgt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Locatie:
Hema Album Software\Albumstyles\pap_001\Album met heel veel tekst\<<Naam>>\<<Naam>>.als

Opbouw:

<albumstylecollection>
<albumstyles>
<albumstyle
 author="<<Naam Auteur>>"
 category="<<Naam categorie>>"  //moet gelijk zijn aan dirnaam? "Album met heel veel tekst"
 description="<<Naam stijl>>"   //gelijk aan bestandsnaam???
 localprintable="true"
 preferredresolution="72"
 previewimagefileurl="<<filenaam>>.jpg"
 styleid="11x8.5stl007"  //???????????
> 

<paper
 description="paper"
 papertypeid="pap_001"               //Naam van de dir, pap001 is 30x30 cm
 height="<<hoogte papier in Inch>>"  //Met drie decimalen, . als scheiding
 width="<<breedte papier in Inch>>"  //11.811 voor 30x30
 imageablearea="0 0 11.811 11.811"   //Hpos Vpos Hlen Vlen
/>                                   //let op de / voor de >

<pagestyles> //er moeten 25 pagestyles in een album zitten

<pagestyle
 backgroundcolor="8A8A8A"
 fixedposition"true"
 fillcolor="000000"
 backgroundimagefileurl="<<filenaam>>.jpg" //formaat 00x????
 coverpage="<<Bool>>"                      //true voor eerste pagina, false voor de rest
 previewimagefileurl="<<filenaam>>.jpg"    //liefst gelijk aan backgroundimage
 styleid="30x30_300"
>

//Dan een willekeurig aantal van deze twee elementen:
<caption                         //voor text
 data="5.512 1.693 4.725 0.394"  //Hpos Vpos Hlen Vlen, maten in Inch
 font="<<arial of Times>>"
 size="<<lettergrote>>"      //12 ofzo
 bold="<<Bool>>"             //text vet? true/false
 italic="<<Bool>>"           //text schuin? true/false
 color="<<kleur>>"           //net als HTML-kleuren: RRGGBB
/> 

<picture                          //voor foto's
 data="0.512 2.362 10.787 8.268"  //Hpos Vpos Hlen Vlen, maten in Inch
/>
</pagestyle>
</pagestyles>
</albumstyle>
</albumstyles>
</albumstylecollection>


Die van een album is ook zoiets:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Locatie:
Hema Album Software\MyAlbums\<<naam>>\<<naam>>.alb

Opbouw

<albumprinter
 prologue="1.3"                   //????
 lastpath="<<Pad naar foto's>>"
 vendorid="1003"                  //HEMA=1003
 clientversion="1.5.2"            //????
>

<user
 email="<<email>>"
 id="<<nummer van 4 cyfers>>"
/>

<album
 duplex="-1"                     //????????????????
 id="<<nummer van 5 cyfers>>"
 style="pap_001\Blanco\Blanco\"  //verwijzing naar stijltemplate
 pagesize="11.811 11.811"        //maat bladzijden in Inch
>

<page
 no="1"
 data="0.000 0.000 11.811 11.811 255 255 255"
 src="002.jpg"
>

//dan de feitelijke data voor de gebruikte paginastijl
// Texten:
<caption
 data="1.378 0.512 9.055 0.984 /arialbold 48 0 0 0"
 font="arial"
 size="48"
 bold="-1"
 italic="0"
 color="0"
 alignment="2"
>
<![CDATA[<<Hier de text>>]]>
</caption>

//Foto's
<picture
 data="2.854 2.362 6.102 8.268"    //positie foto
 src="_1.jpg"                      //lokatie van de (kopie van de) foto
 originalsrc="<<pad naar de originele foto>>"  //het volledide pad naar de originele foto
>
</picture>
</page>
</album>
</albumprinter>


Nu is aanpassen in de code wel leuk, maar natuurlijk, maar het is makkelijker om hier een programmaatje voor te schrijven, zodat je de templates ala powerpoint kan indelen.

Nu kan ik best een beetje imperatief programmeren, maar zo iets heb ik nog nooit gemaakt. Heeft iemand enig idee of er iets bestaat waarmee ik dit makkelijk in elkaar zou kunnen zetten, waar dus met drag en drop boxen gemaakt kunnen worden, die dan wat attributen mee kunnen krijgen, en waardan bv een template uit gedistilleeerd kan worden?

Men moet het denken bijbrengen, niet wat al gedacht is. ~C. Gurlitt


  • Johnny
  • Registratie: December 2001
  • Laatst online: 22-05 10:01

Johnny

ondergewaardeerde internetguru

Het ziet er uit als een XML bestand, het inlezen daarvan en het verwerken is niet zo moeilijk in de meeste talen, maar als je allerlei drag en drop gebeuren wilt gaan maken dan gaat het je als ervaren programmeur een heleboel tijd en moeite kosten.

Ik denk dat je beter de leverancier kan vragen om dit soort functionaliteit in hun software in te bouwen.

[ Voor 24% gewijzigd door Johnny op 17-09-2004 23:02 ]

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:24

gorgi_19

Kruimeltjes zijn weer op :9

Op deze manier wordt het een beetje gokken wat de originele leverancier bedacht heeft, aangezien er geen standaard api's of beschrijvingen beschikbaar zijn.

Neem eens contact op met de maker van het programma; we kunnen hier hooguit gaan gokken wat hij of deze als specificatie bedacht heeft :)

Vandaar dat ik hem dicht doe :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Dit topic is gesloten.