abonnement Unibet Coolblue Bitvavo
  maandag 31 juli 2000 @ 00:50:02 #1
3771 lzandman
The Man NOR the Myth
pi_284039
Hoi,

Ik heb vorige week een simpel proggie geschreven dat bitmapjes converteert naar HTML Art (wat een naam he ). Ik ben benieuwd wat jullie Fokkers ervan vinden. Als voorbeeld heb ik het Fok! logo even geconverteerd: www.hopla.com/leon/fokzine.htm. En ook www.hopla.com/leon/.

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 )

What's the speed of Dark?
  maandag 31 juli 2000 @ 01:29:45 #2
2397 MacBeth
dum-dum-BOOM-dum-*crash*
pi_284106
Wauw! Ziet er erg cool uit!

Technisch vraagje: zijn alle letters even breed?

Down[br]Under
  maandag 31 juli 2000 @ 02:00:51 #3
2671 Aaargh!
Gebruik op eigen risico.
pi_284145
.... dit kan ook met een plugin voor The Gimp
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_284293
ziet er retestrak uit!!

alleen beetje veel getyp om dat zelf te doen

(idee van die foto collage's ??)

message from god : rebooting universe, please log out..
  maandag 31 juli 2000 @ 10:12:15 #5
2643 EyE
probeert iets nieuws
pi_284349
en nu ff met zn allen een applausje voor Leon.

hmmz, ander topic: waar is de applaus-smiley?

pi_284355
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!!

  maandag 31 juli 2000 @ 11:20:17 #7
3771 lzandman
The Man NOR the Myth
pi_284413
quote:
Op 31 juli 2000 02:00 schreef Aaargh! het volgende:
.... dit kan ook met een plugin voor The Gimp

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 Voor iedere pixel in het origineel stop je een character in het HTML bestand. De kleur van de pixel vertaal je naar een HTML-kleurcode en die stop je in een FONT-tag, die op zijn beurt weer om de character heen gezet wordt. Heb je meerdere pixels met dezelfde kleur achter elkaar staan, dan zet je ze samen in een FONT-tag.

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

What's the speed of Dark?
  maandag 31 juli 2000 @ 13:53:35 #8
2397 MacBeth
dum-dum-BOOM-dum-*crash*
pi_284661
En hoe resize je? Met bilinear filtering? Of gewoon met een apart tekenprogramma?
Down[br]Under
  maandag 31 juli 2000 @ 13:55:20 #9
2397 MacBeth
dum-dum-BOOM-dum-*crash*
pi_284662
Hmm, bij nader inzien, je hoeft maar 1 kant op te transformeren... Dus de vraag moet zijn: gebruik je bipixel filtering?
Down[br]Under
  maandag 31 juli 2000 @ 14:36:50 #10
3771 lzandman
The Man NOR the Myth
pi_284708
quote:
Op 31 juli 2000 13:55 schreef MacBeth het volgende:
Hmm, bij nader inzien, je hoeft maar 1 kant op te transformeren... Dus de vraag moet zijn: gebruik je bipixel filtering?

Nee, ik heb er wel over gedacht aan mijn programma een resize-functie toe te voegen, maar dat kost mij alleen maar meer werk Bovendien hangt het uiteindelijke resultaat heel erg af van de gebruikte HTML renderer (browser) en van de fonts.

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.

What's the speed of Dark?
  maandag 31 juli 2000 @ 16:54:16 #11
2671 Aaargh!
Gebruik op eigen risico.
pi_284867
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!
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
  maandag 31 juli 2000 @ 17:39:14 #12
3771 lzandman
The Man NOR the Myth
pi_284911
quote:
Op 31 juli 2000 16:54 schreef Aaargh! het volgende:
Zou je het programma kunnen aanpassen zodat hij output maakt zoals hier... dat zou helemaal kick-ass zijn!


He, leuk idee OK, ik zal het er even inproggen. Is ook niet zo moeilijk.

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

What's the speed of Dark?
  maandag 31 juli 2000 @ 18:56:07 #13
3807 Vohaul
Support yourself
pi_284944
*respect*

Ik wil dat proggie hebben dus

HEEL graag

I am merely a human being. And I must admit, a sickening specimen. I have little to offer to the world, and even less to give. But must I continue this life and become one of many? Become one of the mass? I hope not. In order to achieve something, I must
  maandag 31 juli 2000 @ 21:20:51 #14
2397 MacBeth
dum-dum-BOOM-dum-*crash*
pi_285038
quote:
Op 31 juli 2000 14:36 schreef lzandman het volgende:
Nee, ik heb er wel over gedacht aan mijn programma een resize-functie toe te voegen, maar dat kost mij alleen maar meer werk

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)).

------------------------------------------------------------------------------------------
int32* src = new int32[Breedte * Hoogte]; // bron (source) buffer

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++)
{
double dy = j / 100 * Hoogte;
double row1 = dy - double(int(dy));
double row2 = 1 - dy;

for(i = 0; i < 190; i++)
{
double dx = i / 190 * Breedte;
double colom1 = dx - double(int(dx));
double colom2 = 1 - dx;

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) =
*(src + pos) * colom1 * row1 +
*(src + pos + 1) * colom2 * row1 +
*(src + pos + Breedte) * colom1 * row2 +
*(src + pos + Breedte + 1) * colom2 * row2;
}
}
delete[] src; // geheugen opruimen
delete[] dest;
------------------------------------------------------------------------------------------

Ik schrif dit on the fly, niet rechtstreeks door de compiler halen dus , maar het zou je een aardig idee moeten geven van hoe transformeren met bilinear filtering werkt... Je kan trouwens ook een andere vorm van interpolatie gebruiken (hier gebruik ik lineare interpolatie), maar dan wordt 't nog moeilijker...

EDIT: Shit, code-tags doen 't niet meer in 't nieuwe forum

Down[br]Under
  maandag 31 juli 2000 @ 23:31:13 #15
3771 lzandman
The Man NOR the Myth
pi_285134
quote:
Op 31 juli 2000 21:20 schreef MacBeth het volgende:
Is niet zo moeilijk.... Hier een voorbeeldje van transformatie met bilinear filtering.


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]

What's the speed of Dark?
  dinsdag 1 augustus 2000 @ 18:42:06 #16
2397 MacBeth
dum-dum-BOOM-dum-*crash*
pi_285877
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.

Down[br]Under
  dinsdag 1 augustus 2000 @ 20:20:42 #17
3771 lzandman
The Man NOR the Myth
pi_285987
quote:
Op 01 augustus 2000 18:42 schreef MacBeth het volgende:
Die HMTL-tabelletjes als plaatjes zijn grappig, maar je schiet je doel totaal voorbij; plaatjes nemen erdoor veel meer ruimte in dan nodig.


Ja, ik weet het Maar ik vind het wel grappig hoe je HTML kunt misbruiken voor zoiets. Bovendien past het wel bij het andere algoritme.
What's the speed of Dark?
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')