lzandman | maandag 31 juli 2000 @ 00:50 |
Hoi, Ik heb vorige week een simpel proggie geschreven dat bitmapjes converteert naar HTML Art (wat een naam he Het proggie release ik waarschijnlijk deze week inclusief broncode (Delphi). Ik ben nog wat aan het sleutelen met de Grafische User Interface (conversie-routine geschreven in 10 minuten, met GUI al drie dagen bezig | |
MacBeth | maandag 31 juli 2000 @ 01:29 |
Wauw! Ziet er erg cool uit! Technisch vraagje: zijn alle letters even breed? | |
Aaargh! | maandag 31 juli 2000 @ 02:00 |
.... dit kan ook met een plugin voor The Gimp | |
bacchus | maandag 31 juli 2000 @ 08:37 |
ziet er retestrak uit!! alleen beetje veel getyp om dat zelf te doen (idee van die foto collage's ??) | |
EyE | maandag 31 juli 2000 @ 10:12 |
en nu ff met zn allen een applausje voor Leon. hmmz, ander topic: waar is de applaus-smiley? | |
$tranger | maandag 31 juli 2000 @ 10:18 |
Is inderdaad wel vet, maar maak het niet te groot, want dan loopt internet explorer vast ![]() Wou het ook ooit eens gaan maken, maar ben er nooit aan toe gekomen En ja, alle letters zijn even breed als je maar als font "Courier" kiest Inderdaad een applausje!! | |
lzandman | maandag 31 juli 2000 @ 11:20 |
quote: Ja, ik dacht al dat er al een proggie zou zijn die dat kon. Ik heb het idee nl. van een plaatje van Tux (de LINUX pinguin). Deze was op dezelfde manier bewerkt. Een zoektocht naar software waarmee ik mijn eigen plaatjes zo zou kunnen bewerken leverde niet echt wat op. Toen heb ik gewoon zelf zoiets geschreven. Het algoritme is ook gewoon echt heel simpel Wat betreft die font-grootte; je moet voor een goed eindresultaat een niet-proportioneel font (zoals Courier New) gebruiken. Ook moet je eigenlijk het bronplaatje resizen met een andere lengte-breedte verhouding, want cirkels worden ovalen in HTML Art. In ieder geval bedankt voor jullie reacties | |
MacBeth | maandag 31 juli 2000 @ 13:53 |
En hoe resize je? Met bilinear filtering? Of gewoon met een apart tekenprogramma? | |
MacBeth | maandag 31 juli 2000 @ 13:55 |
Hmm, bij nader inzien, je hoeft maar 1 kant op te transformeren... Dus de vraag moet zijn: gebruik je bipixel filtering? ![]() ![]() ![]() | |
lzandman | maandag 31 juli 2000 @ 14:36 |
quote: Nee, ik heb er wel over gedacht aan mijn programma een resize-functie toe te voegen, maar dat kost mij alleen maar meer werk Ik gebruik zelf Paint Shop Pro voor het bewerken van de bronplaatjes. Dit programma gebruikt een combinatie van twee resize-technieken. Meestal resize ik het plaatje naar 190x100 pixels en reduceer de kleuren naar max. 256. Dit levert goede resultaten op bij een resolutie van 1024x768. Het enige wat mijn programma doet is het 1 op 1 converteren van bitmap/jpeg naar een HTML bestand. | |
Aaargh! | maandag 31 juli 2000 @ 16:54 |
Zou je het programma kunnen aanpassen zodat hij output maakt zoals hier: www.takefumi.com/etc/gif2html/gif2html.html dat zou helemaal kick-ass zijn! | |
lzandman | maandag 31 juli 2000 @ 17:39 |
quote: He, leuk idee ![]() Leuk om zo je hele HTML pagina op te bouwen, dus alles bestaande uit pure HTML. Krijg je wel pagina's van enkele MB's, but who cares | |
Vohaul | maandag 31 juli 2000 @ 18:56 |
*respect* Ik wil dat proggie hebben dus HEEL graag | |
MacBeth | maandag 31 juli 2000 @ 21:20 |
quote: Is niet zo moeilijk.... Hier een voorbeeldje van transformatie met bilinear filtering. Moet er (in c-pseudo code) ongeveer zo uitzien, uitgaande van de 190*100 die jij wil en Breedte*Hoogte als bron. Met int32 bedoel ik een 32-bits integer (voor je RGB kleurtjes, plus 8 bits voor als je nog wat anders wil (bv hoogtekaart)). ------------------------------------------------------------------------------------------ LoadImage(src); // laad je plaatje, functie schrijf je maar zelf int32* dest = new int32[190*100]; // bestemming (destination) buffer for(j = 0; j < 100; j++) for(i = 0; i < 190; i++) int pos = int(dx) + int(dy) * Breedte; /* Hieronder de bilinear filtering. LET OP, ik doe net alsof het zwartwit is, maar je zult dit natuurlijk voor ieder kleurcomponent (RGB) moeten doen */ *(dest + i + j * 190) = Ik schrif dit on the fly, niet rechtstreeks door de compiler halen dus EDIT: Shit, code-tags doen 't niet meer in 't nieuwe forum | |
lzandman | maandag 31 juli 2000 @ 23:31 |
quote: Bedankt. Ik heb op het Internet ook al gezocht naar wat software bibliotheken/componenten hiervoor en heb ook heel wat gevonden. Aangezien mijn programma in Delphi 4 geschreven is, is de meest logische oplossing het gebruiken van een al bestaand image-bewerkings component. Dit zijn er in vele vormen en maten, vaak ook veel te uitgebreid (alhoewel het natuurlijk wel leuk is om het proggie te voorzien van technieken als Phong shading en 3DFX ondersteuning ![]() Ik zie wel of ik het erin stop. En anders mag iemand anders het wel doen. Binnenkort is de broncode ook beschikbaar (eerst even een beetje opschonen Ik heb net het idee van Aaargh! er ook ingestopt. Het is nu mogelijk om images te converteren naar HTML tables. Bedankt Aaargh! Attentie: Versie 0.4 van het proggie is te downloaden op www.hopla.com/leon/htmlartist.zip of members.home.nl/lzandman/HTMLArtist.zip. Kijk maar wat jullie ervan vinden. Ik heb echter wel een paar beperkingen in de conversieroutines gestopt, zodat deze versie nog niet al te bruikbaar is. Maar over een paar dagen gooi ik die er ook wel uit Groeten, Leon Zandman [Dit bericht is gewijzigd door lzandman op 31-07-2000 23:35] | |
MacBeth | dinsdag 1 augustus 2000 @ 18:42 |
Trouwens nog een opmerking bij mijn code; als je hele grote plaatjes als bron neemt (zeg maar gerust een complete desktop) moet je voor goede resultaten met meer lijnen gaan filteren. In theorie raak je na 380*200 (2*(190*100)) al wat detail kwijt, maar bij niet al te grote verhoudingen is dat nauwelijks zichtbaar. Aan de andere kant is extreem grote plaatjes omzetten in HTML niet echt zinnig, je raakt te veel detail kwijt. Die HMTL-tabelletjes als plaatjes zijn grappig, maar je schiet je doel totaal voorbij; plaatjes nemen erdoor veel meer ruimte in dan nodig. | |
lzandman | dinsdag 1 augustus 2000 @ 20:20 |
quote: Ja, ik weet het ![]() |