[PHP / JAVA / ...] "Afbeeldingen-bladeraar"

Pagina: 1
Acties:

Onderwerpen


  • Matthis
  • Registratie: Juli 2004
  • Laatst online: 13-06 13:45
Aangezien ik heel wat ingescande boeken ter beschikking heb en deze frequent moet "doorbladeren" zou ik een eenvoudig programmaatje of script in elkaar willen prutsen. Ik zou een aantal knoppen (1 pagina vooruit/achtertuit, 5 pp vooruit/achtertuit) en een textbox ("ga nr pagina x") moeten hebben, meer niet.

In PHP is dit eenvoudig ineen te knutselen, maar niet iedereen heeft PHP en een webserver op z'n machine staan en ik zou het programmaatje liefst op de DVD/CD met de afbeeldingen plaatsen. Je kan PHP compilen naar een .exe mbv PriadoBlender maar:
- met de CLI kun je geen browser aanroepen en de pagina weergeven
- met PHP-GTK kun je blijkbaar geen afbeeldingen op het scherm tonen.

Daarom was ik gaan kijken naar Java (een paar jaar geleden heb ik nog wel wat in Java geprogrammeerd).
De afbeeldingen weergeven en selecteren is een makkie, maar dan komt het grote probleem:

de afbeeldingen zijn variabel van grootte en ik wil ze zo op het scherm dat er enkel in de hoogte gescrolld moet worden. In PHP/HTML zet je gewoon width=100% en je bent klaar, maar in Java lijkt de oplossing niet zo eenvoudig.
De afbeeldingen resizen is (naar mijn mening) geen optie: soms zit ik op een 800*600 te werken, soms 1024*..., soms ... Gezien het aantal bestanden (paar duizend) is dit ook geen al te beste manier lijkt me

Ik heb reeds een aantal boeken mbt Java doorzocht en GOT eveneens maar zonder enig resultaat.

Nu is m'n vraag: welke oplossing zouden jullie gebruiken voor mijn probleem? Kent er iemand een work-around voor het grootte-probleem in Java? of raden jullie me een andere taal/... aan?

Alvast bedankt

  • Falcon
  • Registratie: Februari 2000
  • Laatst online: 20:05

Falcon

DevOps/Q.A. Engineer

Dit klinkt als gewoon een flash of misschien zelfs gewoon old skool html?

"We never grow up. We just learn how to act in public" - "Dyslexie is a bitch"


  • Matthis
  • Registratie: Juli 2004
  • Laatst online: 13-06 13:45
The Real Falcon schreef op woensdag 14 september 2005 @ 13:55:
Dit klinkt als gewoon een flash of misschien zelfs gewoon old skool html?
HTML? voor zover ik weet heb je bij een form (want een textbox is toch altijd een onderdeel van een FORM) een action nodig die naar een script verwijst? voor een script, weze het nu PERL, PHP of wat dan ook, heb je toch een server nodig, hetgeen ik nu net wens te vermijden?

hoe ga je je HTML laten bijhouden welke afbeelding momenteel getoond wordt om zo te berekenen wat de volgende is, of afbeelding+5?

Verwijderd

Matthis schreef op woensdag 14 september 2005 @ 13:59:
hoe ga je je HTML laten bijhouden welke afbeelding momenteel getoond wordt om zo te berekenen wat de volgende is, of afbeelding+5?
Gewoon hardcoded html files...

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
Textbox processing kan toch gewoon in Javascript?

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Matthis
  • Registratie: Juli 2004
  • Laatst online: 13-06 13:45
Verwijderd schreef op woensdag 14 september 2005 @ 14:12:
[...]

Gewoon hardcoded html files...
dus per afbeelding een html-pagina maken? van een paar duizend afbeeldingen?

JS zou inderdaad een oplossing kunnen zijn 8)7

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 21:10

pietje63

RTFM

Ik heb een vergelijkbaar probleem gehad. Ik heb toen met php een scriptje geschreven dat alles als html wegschreef. Dit was dan wel zonder forum handling, maar dit kan, zoals aangegeven via javascript (iets in de trend van onsubmit pagina=voorvoegsel_*formvat*.html ik zit nu even helemaal niet in javascript, maar moet zo kunnen).

Waarvoor je php kunt gebruiken:
- maken van de verschillende pagina's, wegschrijven met fwrite

Javascript
- form handling
- opvragen resolutie scherm, en aan de hand daarvan de afbeeldingen weergeven op een bepaalde grote (prefereer ik zelf, aangezien van te voren resizen voor de meeste resoluties niet zo heel veel werk is en het resultaat soms beter)

(edit: en wat is er mis met een paar duizend html bestanden op een cd?, je kunt ook gaan werken met div's waarvan je de content (div image, daarvan de source wijzigen) maar vind ik zelf beetje overbodig)

[ Voor 14% gewijzigd door pietje63 op 14-09-2005 14:37 ]

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Verwijderd

Matthis schreef op woensdag 14 september 2005 @ 14:17:
dus per afbeelding een html-pagina maken? van een paar duizend afbeeldingen?
Je bevindt je op een dev forum, lijkt me vrij aannemelijk dat je wel een tooltje schrijft om van die paar duizend plaatjes een html te maken

  • PrinsEdje80
  • Registratie: Oktober 2001
  • Laatst online: 15-07 09:34

PrinsEdje80

Holographic, not grated...

Matthis schreef op woensdag 14 september 2005 @ 13:59:
HTML? voor zover ik weet heb je bij een form (want een textbox is toch altijd een onderdeel van een FORM) een action nodig die naar een script verwijst? voor een script, weze het nu PERL, PHP of wat dan ook, heb je toch een server nodig, hetgeen ik nu net wens te vermijden?
Kun je niet een soort van "cgi-script" maken? En dit "cgi-script" kan zelfs een eigen gebakken c++ proggie zijn, ipv perl wat sommigen gebruiken. Als je bijv. c++ gebruikt moet je gaan werken met de argc en zo variabelen. Dan kun je het mooi weer naar de output schrijven...

Wat ik bedoel is:
HTML:
1
2
3
<form action="myOwnProggie.exe" method=post>
...
</form>

AFAIK moet gebruikt dit geen server gebruiken...

[ Voor 13% gewijzigd door PrinsEdje80 op 15-09-2005 05:19 . Reden: Verduidelijking ]

Used to be Down Under... Foto gallery


Verwijderd

Maak zelf geen viewer, maar gebruik Adobe reader, die heeft precies de functionaliteit die jij wilt.


Wat moet je daar voor doen? Zet alle docs om in pdf, en combineer ze. Adobe pdf writer heeft genoeg commandline options, and anders zijn er tools zoals: http://www.sharewareriver.com/product.php?id=7395

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Dit lijkt me goed te doen met HTML en een Javascript.
Nummer de afbeeldingen van 1 tot weet ik veel waar en je kunt ze zo allemaal ophalen; pagina 1 is 'afbeelding_1.jpg', pagina 192 is 'afbeelding_192.jpg', bijvoorbeeld.

Met een onerror--event in je img-tag kun je afvangen of een afbeelding niet wordt gevonden

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Ik zou zelf liever geen html gebruiken... zeker niet als die ingescande afbeeldingen flink aan de resolutie zijn.

Het gemakkelijkste lijkt mij het in Visual Basic te doen, waar je dan m.b.v. een dropdowntje het boek kunt selecteren, en dan van een scrollbar, evt. zelfgemaakte buttons en een tekstbox een interface bouwen.

Het lijkt me zoals /\ zei inderdaad wel handig om de afbeeldingen logisch te namen, zoals:

D:\Boeken\%b_%p.png

of:

D:\Boeken\%b\Pagina_%p.png

Waar %b de boeknaam is en %p het paginanummer.

Maar ja, t zijn maar suggesties...

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 16:36
Wanneer je de afbeeldingen ordent zoals CodeCaster aangeeft dan kun je dit heel eenvoudig maken in javascript: Je maakt één scriptfile waarin je de eigenschappen van de boeken definieert in een (verzameling van) array(s).
Op basis van de boekdefinities kun je met DOM functies een dropdown genereren die op een onChange definieert welk boek er geopend is.
Het enige wat je nog hoeft te doen is een bladerfunctie implementeren die de pagina wisselt. Dat is: het juiste plaatje uit het boek laat zien op het moment dat er om gevraagd wordt.

Eventuële problemen met high-res images kun je oplossen door het meest waarschijnlijke plaatje (de volgende pagina ofzo) te precachen. Voor inspiratie zou je kunnen kijken naar een van de vele javascript slideshows die op het net te vinden zijn...

Regeren is vooruitschuiven


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 19:10

Robtimus

me Robtimus no like you

In Java kun je ImageIcons gewoon resizen:
Java:
1
2
3
4
ImageIcon icon = new ImageIcon("file.jpg");
Image orig = icon.getImage();
Image scaled = orig.getScaledInstance(width, height, Image.SCALE_DEFAULT);
icon.setImage(scaled);

width en height kun je berekenen adv je frame / panel's size (getSize()). Als je een component listener gebruikt kun je zelfs je images scalen als je frame / panel geresized wordt.

[ Voor 3% gewijzigd door Robtimus op 15-09-2005 13:31 ]

More than meets the eye
There is no I in TEAM... but there is ME
system specs

Pagina: 1