IMG2HTML - Guillaume Delhumeau

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

IMG2HTML - Guillaume Delhumeau

Message par Kwai chang caine »

En fouinant sur le web, je suis tombé sur ce code.
Je ne sais pas si il a été déjà posté sur ce forum. :roll:
Chez moi, il ne marche pas jusqu'a la fin, mais j'ai trouvé ça joli, donc si ça interesse "quinquin". :wink: autant en faire profiter la communauté.
Il est en 3.94.

Bonne journée
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

tiens ça , ça marche !!

Met bien l'extension dans le nom du fichier a la fin au moment de la sauvegarde !! :D

Code : Tout sélectionner


; ============================================================================
;version Purebasic 4.10 par Dobro

; IMG2HTML - A usefull program
; Copyright (C) 2004 Guillaume Delhumeau
;
; This program is free software; you can redistribute it and/or
; modify it under the terms of the GNU General Public License
; as published by the Free Software Foundation; either version 2
; of the License, Or (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY Or FITNESS For A PARTICULAR PURPOSE.  See the
; GNU General Public License For more details.
;
; You should have received a copy of the GNU General Public License
; along with this program; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

; Contact me: keph@laposte.net
; =============================================================================


;- Declaration des procédures
; ---------------------
Declare OpenIMG()
Declare SaveHTML()

UseJPEGImageDecoder()
UsePNGImageDecoder()

;- Constantes
; ---------

#Window = 1
#WinWidth = 260
#WinHeight = 100
#WinTitle = "IMG 2 xHTML Converter"

#ButtonOpen = 1
#ButtonSave = 2
#ButtonQuit = 3

#image = 1

#FileHTML = 1

;- Globales
; -------
Global ImageLoaded.b
ImageLoaded=0

WindowID = OpenWindow(#Window,0,0,#WinWidth,#WinHeight,#WinTitle,#PB_Window_MinimizeGadget | #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_TitleBar)

If CreateGadgetList(WindowID)
  
  ButtonGadget(#ButtonOpen, 20, 20, 100, 20, "Ouvrir")
  ButtonGadget(#ButtonSave, 140, 20, 100, 20, "Convertir")
  ButtonGadget(#ButtonQuit, 80, 60, 100, 20, "Quitter")
  
EndIf


Quit.b = 0

;- Boucle principale
Repeat
  
  Event = WaitWindowEvent()
  
  Select Event
    Case #PB_Event_CloseWindow
      Quit = 1 
    Case #PB_Event_Gadget
      Gadget = EventGadget()
      Select Gadget
        Case #ButtonOpen
          OpenIMG()
        Case #ButtonSave
          SaveHTML()
        Case #ButtonQuit
          Quit=1
      EndSelect
  EndSelect
  
Until Quit=1

End

Procedure OpenIMG()
  
  file.s = OpenFileRequester("Selectioner une image", "", "Images (BMP, JPG, PNG)|*.bmp;*.jpg;*.jpeg;*.png", 0)
  If LoadImage(#image, file)
    ImageLoaded=1
  Else
    ImageLoaded=0
  EndIf
  
EndProcedure

Procedure SaveHTML()
  
  If ImageLoaded=0
    MessageRequester("Erreur","Aucune image n'a été chargé !",0)
  Else
    file.s = SaveFileRequester("Enregistrer", "", "*.html", 0)
    If file
      If Right(file,5)<>".html" : file=file+".html" : EndIf
      If CreateFile(#FileHTML,file)
        WriteStringN(#FileHTML,"<html><head><title>HTML Image</title></head><body bgcolor=#000000><font face='Courier New' size='2'><pre>")
        StartDrawing(ImageOutput(#image))
        For Y.w = 0 To ImageHeight(#FileHTML)-1 Step 2
          For x.w = 0 To ImageWidth(#FileHTML)-1 
            taux=ImageWidth(#FileHTML)/120
          x.w=x.w+taux ;<---- remplace le Step 
            color = Point(x, Y)
            Red.w =  Red(color)
            Green.w = Green(color)
            Blue.w = Blue(color)
            HexaColor.s = Hex(Red)+Hex(Green)+Hex(Blue) 
            WriteString(#FileHTML,"<font color=#"+HexaColor+">"+Str(Random(1))+Str(Random(1))+"</font>")
          Next x
          WriteStringN(#FileHTML,"")
        Next Y
        StopDrawing()
        WriteStringN(#FileHTML,"</pre></body></html>")
        
      Else
        MessageRequester("Erreur","Impossible de creer une page HTML",0)
      EndIf
    EndIf
  EndIf
  
EndProcedure


Dernière modification par Backup le sam. 29/sept./2007 23:02, modifié 1 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

un exemple de ce que ça peut donner :)

http://michel.dobro.free.fr/Forum_PB/test.html


avec mozilla utilisez Ctrl + roulette souris, pour dézoomer ou zoomer :D
Dernière modification par Backup le sam. 29/sept./2007 22:11, modifié 1 fois.
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Message par case »

super lent l'affichage de la page :)

mais sympa ^^
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Ouaaahhh !!!!
Nickel DOBRO 8)

C'est genial comme code, tu trouve pas ??
Tu connais ce programmeur ?

C'est marrant, je ne sais pourquoi, mais j'ai l'impression que y'a des freres qui ne viennent pas sur ce forum.
ça me troue le ..... ne savent il pas qu'on y est super bien accueulli et dorloté :?

Je suis surpris, je pensais qu'au moins tout le monde etait passé par la 8O

Merci de ton aide pour lui, moi, et nous tous qui pourrons profiter de ce code.

PS: Jolie ton DOBRO image en HTML :wink:

@CASE
C'est vrai, c'est du lent.
Peut etre trop de petits 1 et 0
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

c'est clair qu'il faut utiliser des petites images !!

800x600 , cela fait tout de suite 480000 lettres "0" ou "1"

c'est bien pour cela que l'on a inventé la compression :D
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Ce qui serait bien c'est que ça fasse une image à peut pres de la taille de l'ecran, parce qu'en plus que y'en a des tonnes des 0 et des 1, l'image est encore plus grande et ça fait scroller pour rien :?
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Message par case »

oui et le html ca aide pas avec les balises pour les changement de couleur ca augmente tout de suite le poids d'une image

<font color=#F1FFFB>10</font>

ce qui fait 2 'pixels' codes sur 29 bytes soit 232 bits ^^ au lieu de 24 bits par pixel presque 5 fois plus si on code 2 pixel a la fois bien sur

ce qui done pour une image normale non compressee en 800*600

1.440.000 octets

ou

6.960.000 octets

environ pour le format en html


vive les images bitmap :)
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Donc pour bien faire faudrais réduire l'image avant, si je comprend bien, ou bien ça ne sert à rien :roll:
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Dobro a écrit :un exemple de ce que ça peut donner :)

http://michel.dobro.free.fr/Forum_PB/test.html


avec mozilla utilisez Ctrl + roulette souris, pour dézoomer ou zoomer :D
Purée!

Z'avez vu les armoiries du Dobro?
Y serait pas un peu mégalo, par hasard? :mrgreen:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Kwai chang caine a écrit :Ce qui serait bien c'est que ça fasse une image à peut pres de la taille de l'ecran, parce qu'en plus que y'en a des tonnes des 0 et des 1, l'image est encore plus grande et ça fait scroller pour rien :?
Je viens de modifier le code pour que la largeur s'adapte au format moyen d'un ecran html :D

revoir l'exemple de visu, qui est aussi adapté !! :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Chris a écrit :
Dobro a écrit :un exemple de ce que ça peut donner :)

http://michel.dobro.free.fr/Forum_PB/test.html


avec mozilla utilisez Ctrl + roulette souris, pour dézoomer ou zoomer :D
Purée!

Z'avez vu les armoiries du Dobro?
Y serait pas un peu mégalo, par hasard? :mrgreen:

figure toi que mon nom de famille (le vrais) a des armoiries !! :D
comme cela on connaitra en plus mes origines bretonne et normande :lol:


Image
Image
Image
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

@DOBRO
Impecable ......
Cette fois j'arrive à avoir mon image complete.

Merci de ton travail.
En plus tu travaille vite, un vrai courreur cycliste, on pourrais presque dire que quand tu code, tu code le nez dans le "GUESDON". :D

Pardon, j'ai craqué :oops:
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Kwai chang caine a écrit :@DOBRO
Impecable ......
Cette fois j'arrive à avoir mon image complete.

Merci de ton travail.
En plus tu travaille vite, un vrai courreur cycliste, on pourrais presque dire que quand tu code, tu code le nez dans le "GUESDON". :D

Pardon, j'ai craqué :oops:
Ca compense pour ceux qui codent la tête dans le c... :lol:
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

:lol: :lol:
Répondre