Texte => Pixels => Texte - erreurs (A nouveau)

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par kernadec »

bonsoir Ar-S
je viens de tester ton premier code de ce post, et je rencontre des problèmes avec plot sur ma becane,
je n'ai plus confiance avec la commande plot, ça fait plusieurs fois que j'ai des soucis...
peut etre ma carte graphique ,enfin voila,

je n'utilise plus cette commande
car dans ton code, il me dit que plot est outside startdrawing, alors que c'est faux.
je prend Box(x,y,1,1,pixel) et ca marche

Cordialement
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par Ar-S »

Ok pour ce qui est du 1er code (mais ça doit venir de ton matos car je n'ai eu aucun retour de ce genre).
Par contre mon soucis pour le nouveau code demeure.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par Le Soldat Inconnu »

peux tu donner un code qui fonctionne déjà. Ca fais déjà 10 minutes que j'essaie de le faire marcher, et c'est bug sur bug du compilateur

Merci
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par kernadec »

je suis bloqué avec "OpenWindow_SplashWin()"


bon je l'ai zappé, :oops: maintenant phase test

Cordialement
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par Ar-S »

Le Soldat Inconnu a écrit :peux tu donner un code qui fonctionne déjà. Ca fais déjà 10 minutes que j'essaie de le faire marcher, et c'est bug sur bug du compilateur

Merci
Voile code limité au 2 boutons => aux 2 fonctions

si la création d'image fonctionne, le décodage (image2txt) ne s'effectue plus :(

Code : Tout sélectionner

; ASCII2PIC by LDVMULTIMEDIA
; Routines de conversion réalisées par Dobro & LNA
;P.B 4.10 puis PB 4.20 beta 5 puis 4.20 / de  14/04/2008 au 10/05/2008
;PB 4.41 du 23/03/2010 au..

Declare.s pixel_4car(pixel)
Declare.l car_pixel(car1,car2,car3,car4)  

UsePNGImageEncoder()
UsePNGImageDecoder()
UseJPEGImageDecoder()

Global V$="2.0 beta2"
Global Path$=GetCurrentDirectory()
Global sites$=Chr(10)+"LDV MULTIMEDIA : http://ldvmultimedia.com"+Chr(10)+Chr(10)+Space(15)+"Grand merci à Dobro & LNA"+Chr(10)+" Site de Dobro : http://michel.dobro.free.fr"

lng$="Français"
If lng$="Français"
  Global Cancel$="Annulé"
  Global errorfile$="Le fichier est introuvable"
  Global nofile$="Le fichier est indisponible pour Le moment, veuillez ré-essayer dans quelques minutes"
  Global ddl$="Téléchargement..."
  Global dejaup$="Vous avez déjà la dernière Version"
  Global QuoideNeuf$=Chr(10)+" "+V$+" - Quoi de neuf ?"+Chr(10)+"> Correctif mineur - Message clignotant pour l'info de mise à jour"+Chr(10)+"> Correction d'un bug majeur de décalage de texte"+Chr(10)+"> Recodage de la gestion des langues pour une compatibilité avec les OS non français ou anglais"+Chr(10)+"> Bug mineur corrigé"+Chr(10)+"> Format BMP supporté"+Chr(10)+"> Mise à jour automatique"+Chr(10)+"> Bug d'affichage de texte long corrigé"+Chr(10)+"> Vérification des extensions"+Chr(10)+"> Copie du texte dans le presse papier"+Chr(10)+"> Copie du texte dans un fichier .txt"
  Global Sign$="2008 / LDV MULTIMEDIA - Ce logiciel est gratuit - http://ldvmultimedia.com"
  Global f3d$="Convertissez un texte en image et vice et versa"
  Global cv1$="Convertir du Texte en image"
  Global cv2$="Convertir une image en Texte"
  Global convert$="Effectuer une conversion"
  Global filtre1$="Ficher Texte|*.txt;*.TXT;*.pb;*.php;*.html;*.htm;*.js;*.ini"
  Global filtre2$="Ficher image (*.png)|*.png;*.PNG"
  Global loadtxt$="Charger un fichier Texte"
  Global alert$="Nombre de caractères trop important !"
  Global wait$="Patientez S.V.P"
  Global png$="Ficher PNG|*.png;*.PNG"
  Global savpng$="Sauver l'image PNG"
  Global about$=Space(8)+"Ce logiciel a été créé par LDVMULTIMEDIA"+Chr(10)+Space(25)+"Codé par Ar-S et Dobro"+Chr(10)+Space(27)+"Ce logiciel est gratuit"+Chr(10)+sites$
  Global over$="Opération terminée"
  Global styl$="Texte (*.txt)|*.txt|Autres (*.*)|*.*"
  Global Loadpng$="Charger une image .PNG"
  Global Clipb$="Copier le texte dans le presse papier"
  Global savtxt$="Enregistrer le texte dans un fichier .txt"
  Global clipbok$="Le texte a été copié dans le presse papier"
  Global nomfich$="Choisissez un nom pour votre fichier"
  Global fi$="Le fichier "
  Global aec$=" a été sauvegardé"
  Global update$="Mise à jour"
  Global questddl$=" est disponible, voulez-vous la télécharger maintenant ?"
  Global upsave$="La mise à jour à été sauvée dans "
  Global nonet$="Aucune connection internet n'est detectée"
  Global Error$="Erreur"
  Global ErrRep$="Désolé, un répertoire porte le même nom, choisissez un autre nom pour votre fichier."
EndIf

;-}Fin langues

Enumeration
  #WIN : #Image_0 : #TXT1 : #Frame3D : #BT1 : #BT2 : #AFFICHE : #Image_Image_0 : #Fichier : #Image
  #fenetre_editeur : #editeur : #BTsave : #BTcopy : #SplashWin : #SplashTxt : #Font_SplashTXT
  #WINlng : #CheckBox_UK : #CheckBox_FR : #OK : #BT_MAJ
  ;ajouts
EndEnumeration

NewList Liste.l()

Procedure OpenWindow_SplashWin()
  If OpenWindow(#SplashWin, 0, 730, 292, 30, "", #PB_Window_BorderLess|#PB_Window_ScreenCentered)
    If CreateGadgetList(WindowID(#SplashWin))
      TextGadget(#SplashTxt, 5, 5, 280, 20, wait$, #PB_Text_Center)
      SetGadgetFont(#SplashTxt, LoadFont(#Font_SplashTXT, "Microsoft Sans Serif", 12, 272))
    EndIf
  EndIf
EndProcedure

Procedure.l car_pixel(car1,car2,car3,car4)
  pixel=RGBA(car1,car2,car3,car4)
  ProcedureReturn pixel   
EndProcedure

Procedure.s pixel_4car(pixel)
  R=Red(pixel)
  g=Green(pixel)
  b=Blue(pixel)
  a=Alpha(pixel)
  car$=Chr(R)+Chr(g)+Chr(b)+Chr(a)
  ProcedureReturn car$
EndProcedure

Define.l Event, EventWindow, EventGadget, EventType, EventMenu
;}
Procedure OpenWindow_WIN()
  If OpenWindow(#WIN, 330, 155, 640, 359, "ASCII2PIXEL by LDVMULTIMEDIA v"+V$, #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered)
    If CreateGadgetList(WindowID(#WIN))
      TextGadget(#TXT1, 120, 335, 415, 20,Sign$)
      ButtonGadget(#BT1, 20, 195, 300, 45, cv1$, #BS_FLAT)
      ButtonGadget(#BT2, 20, 250, 600, 45, cv2$, #BS_FLAT)
      StringGadget(#AFFICHE, 20, 305, 540, 20, convert$, #ES_CENTER|#PB_String_BorderLess|#PB_String_ReadOnly)
    EndIf
  EndIf
EndProcedure

OpenWindow_WIN() 

;{- Event loop
Repeat
  Event = WaitWindowEvent()
  Select Event
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      Select EventGadget
          ;ENCODAGE
        Case #BT1
          filtre$=filtre1$
          filtre=0
          NomFichier$ = OpenFileRequester(loadtxt$,"",filtre$, 0)
          nbc=1
          ClearList(Liste()) 
          Position=0 
          If OpenFile(#Fichier, NomFichier$) 
            While Eof(#Fichier)=0 
              car1.c=0
              car2.c=0
              car3.c=0
              car4.c=0
              If ReadData(#Fichier,@car1,1)
                nbc=nbc+1
                If ReadData(#Fichier,@car2,1)
                  nbc=nbc+1
                  If ReadData(#Fichier,@car3,1)
                    nbc=nbc+1
                    If ReadData(#Fichier,@car4,1)
                      nbc=nbc+1
                    EndIf  
                  EndIf
                EndIf
              EndIf 
              nbp=nbp+1
              pixel= car_pixel(car1,car2,car3,car4)
              AddElement(Liste())
              Liste()=pixel
            Wend
            CloseFile(#Fichier)
            ;-{   1ere tentative de gestion de la taille des images.
            ; MessageRequester("test",Str(nbc)) : End ; test
            If nbc<22500
              Xpic=150 : Ypic = 50
              ; ElseIf nbc=22500 Or nbc<48000
              ; Xpic=320 : Ypic=50
            ElseIf nbc=22500 Or nbc<144000
              Xpic=320 : Ypic = 150
            ElseIf nbc=144000  Or nbc<384000
              Xpic=640 : Ypic = 400
            ElseIf nbc=384000  Or nbc<1440000
              Xpic=800 : Ypic = 600
            ElseIf nbc=1440000  Or nbc<2359296
              Xpic=1024 : Ypic = 768
            ElseIf nbc=2359296  Or nbc<3932160
              Xpic=1280 : Ypic = 1024
            ElseIf nbc>3932159
              MessageRequester("Alert",alert$)
              Break
            EndIf
            ;-FinModif
            
            ;-TXT en IMAGE 
            CreateImage(#Image,Xpic,Ypic,32)
            StartDrawing(ImageOutput(#Image))
              DrawingMode(#PB_2DDrawing_AlphaChannel)
              ResetList(Liste())
              For Y= 1 To Ypic-1
                For x=1 To Xpic-1
                  NextElement(Liste())
                  pixel=Liste()
                  ;Plot(x,Y,pixel)
                  Box(x,Y,1,1,pixel)
                  
                  compteur=compteur+1
                  If compteur=nbp
                    compteur=0
                    Break 2
                  EndIf                               
                Next x   
              Next Y   
            StopDrawing()   
            ;- Sauvegarde
            Delay(500)
            SetGadgetText(#AFFICHE,wait$)
            filtre$=png$
            filtre=0
            NomFichier$ = SaveFileRequester(savpng$, "", filtre$, 0)
            ext$=LCase(GetExtensionPart(NomFichier$))
            If ext$<>"png" : NomFichier$=NomFichier$+".png" : EndIf
            
            If NomFichier$
              OpenWindow_SplashWin() 
              Resultat = SaveImage(#Image, NomFichier$ , #PB_ImagePlugin_PNG) 
              SetGadgetText(#AFFICHE,over$)
              CloseWindow(#SplashWin)
            Else
              SetGadgetText(#AFFICHE,Cancel$) ;-annul
            EndIf
          Else
            SetGadgetText(#AFFICHE,Cancel$)
          EndIf
          
          ;-IMAGE en TXT
        Case #BT2
          filtre$=filtre2$
          filtre=0
          NomFichier$ = OpenFileRequester(Loadpng$, "", filtre$, 0)
          Texte$="":car_4$="":pixel=0:compteur=0
          Resultat = LoadImage(#Image, NomFichier$,32)
          If OpenFile(#Fichier, NomFichier$)
            OpenWindow_SplashWin()
            
            StartDrawing(ImageOutput(#Image))
            DrawingMode(#PB_2DDrawing_AlphaChannel)
              
              For Y=1 To ImageHeight(#Image)-1 
                For x=1 To  ImageWidth(#Image)-1
                  pixel=Point(x,Y)
                  If pixel>0
                    car_4$=pixel_4car(pixel)
                  EndIf 
                  If pixel=0 
                    Break 2 
                  EndIf
                  Texte$=Texte$+car_4$ 
                  Debug Texte$
                Next x     
              Next Y 
            StopDrawing()
            FreeImage(#Image)
            ;-editeur
            If OpenWindow(#fenetre_editeur,330, 155, 640, 660,"Result")
              CloseWindow(#SplashWin)
              If CreateGadgetList(WindowID(#fenetre_editeur))
                EditorGadget(#editeur,5, 5, 630, 550 )
                ButtonGadget(#BTcopy, 5, 560, 630, 45, Clipb$, #BS_FLAT)
                ButtonGadget(#BTsave, 5, 610, 630, 45, savtxt$, #BS_FLAT)
                SendMessage_(GadgetID(#editeur), #EM_SETTARGETDEVICE, #Null, 0)
                SetGadgetText(#editeur, Texte$)
              EndIf
            EndIf
            Repeat
              Event2 = WaitWindowEvent()	
              Select Event2	
                Case #PB_Event_Gadget
                  EventGadget = EventGadget()
                  Select EventGadget
                    Case #BTcopy 
                      Texte$=GetGadgetText(#editeur) 
                      SetClipboardText(Texte$)
                      MessageRequester("OK",clipbok$)    
                    Case #BTsave
                      Texte$=GetGadgetText(#editeur) 
                      Defaut$ = Path$
                      filtre$ = styl$
                      filtre = 0  
                      FichierSave$ = SaveFileRequester(nomfich$, Defaut$, filtre$, filtre)
                      ext$=LCase(GetExtensionPart(FichierSave$))
                      If FichierSave$
                        If ext$<>"txt" : FichierSave$=FichierSave$+".txt" : EndIf
                        If CreateFile(1, FichierSave$)
                          WriteString(1, Texte$,#PB_Ascii)    
                          CloseFile(1) 
                          MessageRequester("Info",fi$+FichierSave$+aec$)
                        Else
                          MessageRequester (Error$,Error$)
                        EndIf
                      Else
                        SetGadgetText(#AFFICHE,Cancel$)
                      EndIf
                  EndSelect 
                Case #PB_Event_CloseWindow
                  CloseWindow(#fenetre_editeur)	
                  HideWindow(#WIN, 0)
                  SetGadgetText(#AFFICHE,over$)
              EndSelect
            Until  Event2=#PB_Event_CloseWindow
          Else
          EndIf
          
      EndSelect
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      Select EventWindow
        Case #WIN
          CloseWindow(#WIN)
          Break
      EndSelect
  EndSelect
ForEver
Dernière modification par Ar-S le mer. 24/mars/2010 12:06, modifié 1 fois.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par Ar-S »

Edition du code ci-dessus.

IMAGE=>TXT est OK
TXT=> IMAGE ne marche pas
Je ne pige pas pourquoi il n'arrive pas à lire les pixel
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par cederavic »

Un très très très rapide coup d'oeil et :
#PB_2DDrawing_AlphaChannel
Les opérations de dessin ne modifieront que les valeurs du canal alpha de la surface de dessin. Toutes les informations concernant les couleurs seront ignorées. Par exemple, dessiner un cercle avec une couleur RGBA(0, 0, 0, 0) fera un 'trou' en forme de cercle dans la surface, car cette zone sera alors complètement transparente. Si la surface de dessin n'a pas de canal alpha alors les opérations de dessin n'auront aucun effet dans ce mode.
Je pense que le problème vient de là, malheureusement je n'ai pas le temps de tester ce midi...
Bon courage :)
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par Ar-S »

Exacte !

Me reste le soucis de l'information sur la couche alpha qui n'est pas prise en compte pour la reconversion en texte.
Du coup 1 car saute tout les 4 car

Code corrigé sans les #PB_2DDrawing_AlphaChannel

Code : Tout sélectionner

; ASCII2PIC by LDVMULTIMEDIA
; Routines de conversion réalisées par Dobro & LNA
;P.B 4.10 puis PB 4.20 beta 5 puis 4.20 / de  14/04/2008 au 10/05/2008
;PB 4.41 du 23/03/2010 au..

Declare.s pixel_4car(pixel)
Declare.l car_pixel(car1,car2,car3,car4)  

UsePNGImageEncoder()
UsePNGImageDecoder()
UseJPEGImageDecoder()

Global V$="2.0 beta2"
Global Path$=GetCurrentDirectory()
Global sites$=Chr(10)+"LDV MULTIMEDIA : http://ldvmultimedia.com"+Chr(10)+Chr(10)+Space(15)+"Grand merci à Dobro & LNA"+Chr(10)+" Site de Dobro : http://michel.dobro.free.fr"

lng$="Français"
If lng$="Français"
  Global Cancel$="Annulé"
  Global errorfile$="Le fichier est introuvable"
  Global nofile$="Le fichier est indisponible pour Le moment, veuillez ré-essayer dans quelques minutes"
  Global ddl$="Téléchargement..."
  Global dejaup$="Vous avez déjà la dernière Version"
  Global QuoideNeuf$=Chr(10)+" "+V$+" - Quoi de neuf ?"+Chr(10)+"> Correctif mineur - Message clignotant pour l'info de mise à jour"+Chr(10)+"> Correction d'un bug majeur de décalage de texte"+Chr(10)+"> Recodage de la gestion des langues pour une compatibilité avec les OS non français ou anglais"+Chr(10)+"> Bug mineur corrigé"+Chr(10)+"> Format BMP supporté"+Chr(10)+"> Mise à jour automatique"+Chr(10)+"> Bug d'affichage de texte long corrigé"+Chr(10)+"> Vérification des extensions"+Chr(10)+"> Copie du texte dans le presse papier"+Chr(10)+"> Copie du texte dans un fichier .txt"
  Global Sign$="2008 / LDV MULTIMEDIA - Ce logiciel est gratuit - http://ldvmultimedia.com"
  Global f3d$="Convertissez un texte en image et vice et versa"
  Global cv1$="Convertir du Texte en image"
  Global cv2$="Convertir une image en Texte"
  Global convert$="Effectuer une conversion"
  Global filtre1$="Ficher Texte|*.txt;*.TXT;*.pb;*.php;*.html;*.htm;*.js;*.ini"
  Global filtre2$="Ficher image (*.png)|*.png;*.PNG"
  Global loadtxt$="Charger un fichier Texte"
  Global alert$="Nombre de caractères trop important !"
  Global wait$="Patientez S.V.P"
  Global png$="Ficher PNG|*.png;*.PNG"
  Global savpng$="Sauver l'image PNG"
  Global about$=Space(8)+"Ce logiciel a été créé par LDVMULTIMEDIA"+Chr(10)+Space(25)+"Codé par Ar-S et Dobro"+Chr(10)+Space(27)+"Ce logiciel est gratuit"+Chr(10)+sites$
  Global over$="Opération terminée"
  Global styl$="Texte (*.txt)|*.txt|Autres (*.*)|*.*"
  Global Loadpng$="Charger une image .PNG"
  Global Clipb$="Copier le texte dans le presse papier"
  Global savtxt$="Enregistrer le texte dans un fichier .txt"
  Global clipbok$="Le texte a été copié dans le presse papier"
  Global nomfich$="Choisissez un nom pour votre fichier"
  Global fi$="Le fichier "
  Global aec$=" a été sauvegardé"
  Global update$="Mise à jour"
  Global questddl$=" est disponible, voulez-vous la télécharger maintenant ?"
  Global upsave$="La mise à jour à été sauvée dans "
  Global nonet$="Aucune connection internet n'est detectée"
  Global Error$="Erreur"
  Global ErrRep$="Désolé, un répertoire porte le même nom, choisissez un autre nom pour votre fichier."
EndIf

;-}Fin langues

Enumeration
  #WIN : #Image_0 : #TXT1 : #Frame3D : #BT1 : #BT2 : #AFFICHE : #Image_Image_0 : #Fichier : #Image
  #fenetre_editeur : #editeur : #BTsave : #BTcopy : #SplashWin : #SplashTxt : #Font_SplashTXT
  #WINlng : #CheckBox_UK : #CheckBox_FR : #OK : #BT_MAJ
  ;ajouts
EndEnumeration

NewList Liste.l()

Procedure OpenWindow_SplashWin()
  If OpenWindow(#SplashWin, 0, 730, 292, 30, "", #PB_Window_BorderLess|#PB_Window_ScreenCentered)
    If CreateGadgetList(WindowID(#SplashWin))
      TextGadget(#SplashTxt, 5, 5, 280, 20, wait$, #PB_Text_Center)
      SetGadgetFont(#SplashTxt, LoadFont(#Font_SplashTXT, "Microsoft Sans Serif", 12, 272))
    EndIf
  EndIf
EndProcedure

Procedure.l car_pixel(car1,car2,car3,car4)
  pixel=RGBA(car1,car2,car3,car4)
  ProcedureReturn pixel   
EndProcedure

Procedure.s pixel_4car(pixel)
  R=Red(pixel)
  g=Green(pixel)
  b=Blue(pixel)
  a=Alpha(pixel)
  car$=Chr(R)+Chr(g)+Chr(b)+Chr(a)
  ProcedureReturn car$
EndProcedure

Define.l Event, EventWindow, EventGadget, EventType, EventMenu
;}
Procedure OpenWindow_WIN()
  If OpenWindow(#WIN, 330, 155, 640, 359, "ASCII2PIXEL by LDVMULTIMEDIA v"+V$, #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered)
    If CreateGadgetList(WindowID(#WIN))
      TextGadget(#TXT1, 120, 335, 415, 20,Sign$)
      ButtonGadget(#BT1, 20, 195, 300, 45, cv1$, #BS_FLAT)
      ButtonGadget(#BT2, 20, 250, 600, 45, cv2$, #BS_FLAT)
      StringGadget(#AFFICHE, 20, 305, 540, 20, convert$, #ES_CENTER|#PB_String_BorderLess|#PB_String_ReadOnly)
    EndIf
  EndIf
EndProcedure

OpenWindow_WIN() 

;{- Event loop
Repeat
  Event = WaitWindowEvent()
  Select Event
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      Select EventGadget
          ;ENCODAGE
        Case #BT1
          filtre$=filtre1$
          filtre=0
          NomFichier$ = OpenFileRequester(loadtxt$,"",filtre$, 0)
          nbc=1
          ClearList(Liste()) 
          Position=0 
          If OpenFile(#Fichier, NomFichier$) 
            While Eof(#Fichier)=0 
              car1.c=0
              car2.c=0
              car3.c=0
              car4.c=0
              If ReadData(#Fichier,@car1,1)
                nbc=nbc+1
                If ReadData(#Fichier,@car2,1)
                  nbc=nbc+1
                  If ReadData(#Fichier,@car3,1)
                    nbc=nbc+1
                    If ReadData(#Fichier,@car4,1)
                      nbc=nbc+1
                    EndIf  
                  EndIf
                EndIf
              EndIf 
              nbp=nbp+1
              pixel= car_pixel(car1,car2,car3,car4)
              AddElement(Liste())
              Liste()=pixel
            Wend
            CloseFile(#Fichier)
            ;-{   1ere tentative de gestion de la taille des images.
            ; MessageRequester("test",Str(nbc)) : End ; test
            If nbc<22500
              Xpic=150 : Ypic = 50
              ; ElseIf nbc=22500 Or nbc<48000
              ; Xpic=320 : Ypic=50
            ElseIf nbc=22500 Or nbc<144000
              Xpic=320 : Ypic = 150
            ElseIf nbc=144000  Or nbc<384000
              Xpic=640 : Ypic = 400
            ElseIf nbc=384000  Or nbc<1440000
              Xpic=800 : Ypic = 600
            ElseIf nbc=1440000  Or nbc<2359296
              Xpic=1024 : Ypic = 768
            ElseIf nbc=2359296  Or nbc<3932160
              Xpic=1280 : Ypic = 1024
            ElseIf nbc>3932159
              MessageRequester("Alert",alert$)
              Break
            EndIf
            ;-FinModif
            
            ;-TXT en IMAGE 
            CreateImage(#Image,Xpic,Ypic,32)
            StartDrawing(ImageOutput(#Image))
            ;DrawingMode(#PB_2DDrawing_AlphaChannel)
              ResetList(Liste())
              For Y= 1 To Ypic-1
                For x=1 To Xpic-1
                  NextElement(Liste())
                  pixel=Liste()
                  ;Plot(x,Y,pixel)
                  Box(x,Y,1,1,pixel)
                  
                  compteur=compteur+1
                  If compteur=nbp
                    compteur=0
                    Break 2
                  EndIf                               
                Next x   
              Next Y   
            StopDrawing()   
            ;- Sauvegarde
            Delay(500)
            SetGadgetText(#AFFICHE,wait$)
            filtre$=png$
            filtre=0
            NomFichier$ = SaveFileRequester(savpng$, "", filtre$, 0)
            ext$=LCase(GetExtensionPart(NomFichier$))
            If ext$<>"png" : NomFichier$=NomFichier$+".png" : EndIf
            
            If NomFichier$
              OpenWindow_SplashWin() 
              Resultat = SaveImage(#Image, NomFichier$ , #PB_ImagePlugin_PNG) 
              SetGadgetText(#AFFICHE,over$)
              CloseWindow(#SplashWin)
            Else
              SetGadgetText(#AFFICHE,Cancel$) ;-annul
            EndIf
          Else
            SetGadgetText(#AFFICHE,Cancel$)
          EndIf
          
          ;-IMAGE en TXT
        Case #BT2
          filtre$=filtre2$
          filtre=0
          NomFichier$ = OpenFileRequester(Loadpng$, "", filtre$, 0)
          Texte$="":car_4$="":pixel=0:compteur=0
          Resultat = LoadImage(#Image, NomFichier$,32)
          If OpenFile(#Fichier, NomFichier$)
            OpenWindow_SplashWin()
            
            StartDrawing(ImageOutput(#Image))
            ;DrawingMode(#PB_2DDrawing_AlphaChannel)
              
              For Y=1 To ImageHeight(#Image)-1 
                For x=1 To  ImageWidth(#Image)-1
                  pixel=Point(x,Y)
                  If pixel>0
                    car_4$=pixel_4car(pixel)
                  EndIf 
                  If pixel=0 
                    Break 2 
                  EndIf
                  Texte$=Texte$+car_4$ 
                  Debug Texte$
                Next x     
              Next Y 
            StopDrawing()
            FreeImage(#Image)
            ;-editeur
            If OpenWindow(#fenetre_editeur,330, 155, 640, 660,"Result")
              CloseWindow(#SplashWin)
              If CreateGadgetList(WindowID(#fenetre_editeur))
                EditorGadget(#editeur,5, 5, 630, 550 )
                ButtonGadget(#BTcopy, 5, 560, 630, 45, Clipb$, #BS_FLAT)
                ButtonGadget(#BTsave, 5, 610, 630, 45, savtxt$, #BS_FLAT)
                SendMessage_(GadgetID(#editeur), #EM_SETTARGETDEVICE, #Null, 0)
                SetGadgetText(#editeur, Texte$)
              EndIf
            EndIf
            Repeat
              Event2 = WaitWindowEvent()	
              Select Event2	
                Case #PB_Event_Gadget
                  EventGadget = EventGadget()
                  Select EventGadget
                    Case #BTcopy 
                      Texte$=GetGadgetText(#editeur) 
                      SetClipboardText(Texte$)
                      MessageRequester("OK",clipbok$)    
                    Case #BTsave
                      Texte$=GetGadgetText(#editeur) 
                      Defaut$ = Path$
                      filtre$ = styl$
                      filtre = 0  
                      FichierSave$ = SaveFileRequester(nomfich$, Defaut$, filtre$, filtre)
                      ext$=LCase(GetExtensionPart(FichierSave$))
                      If FichierSave$
                        If ext$<>"txt" : FichierSave$=FichierSave$+".txt" : EndIf
                        If CreateFile(1, FichierSave$)
                          WriteString(1, Texte$,#PB_Ascii)    
                          CloseFile(1) 
                          MessageRequester("Info",fi$+FichierSave$+aec$)
                        Else
                          MessageRequester (Error$,Error$)
                        EndIf
                      Else
                        SetGadgetText(#AFFICHE,Cancel$)
                      EndIf
                  EndSelect 
                Case #PB_Event_CloseWindow
                  CloseWindow(#fenetre_editeur)	
                  HideWindow(#WIN, 0)
                  SetGadgetText(#AFFICHE,over$)
              EndSelect
            Until  Event2=#PB_Event_CloseWindow
          Else
          EndIf
          
      EndSelect
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      Select EventWindow
        Case #WIN
          CloseWindow(#WIN)
          Break
      EndSelect
  EndSelect
ForEver
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
case
Messages : 1545
Inscription : lun. 10/sept./2007 11:13

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par case »

kernadec a écrit :bonsoir Ar-S
je viens de tester ton premier code de ce post, et je rencontre des problèmes avec plot sur ma becane,
je n'ai plus confiance avec la commande plot, ça fait plusieurs fois que j'ai des soucis...
peut etre ma carte graphique ,enfin voila,

je n'utilise plus cette commande
car dans ton code, il me dit que plot est outside startdrawing, alors que c'est faux.
je prend Box(x,y,1,1,pixel) et ca marche

Cordialement

il te dis pas plutôt que plot est outside drawing suface ?

car plot ne vérifie pas que le point est dans la surface de dessin et si tu fait un plot(-1,0) ca donne ce message d'erreur.
si tu as une surface de 320x200 et que tu es a 330x 190 ca plante !

box en revanche ne trace que sur la surface de dessin et a sans doute une vérification de validité

a noter que si cela ne renvoi pas d'erreur avec box ne signifie pas que tu ne rencontre pas la même erreur de coordonnée
et si tu fait un box 330 x 190 tu es en dehors de la zone visible et ton point n'est pas tracé.

donc tu génère une image sans problème mais quand tu la décode tu ne trouve pas ce point en dehors de l'écran... forcement ca marche pas
ImageImage
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par cederavic »

Il reste un petit bug, il ne prend pas la valeur alpha du premier pixel... mais le reste à l'air de fonctionner :

Code : Tout sélectionner

; ASCII2PIC by LDVMULTIMEDIA
; Routines de conversion réalisées par Dobro & LNA
;P.B 4.10 puis PB 4.20 beta 5 puis 4.20 / de  14/04/2008 au 10/05/2008
;PB 4.41 du 23/03/2010 au..

Declare.s pixel_4car(pixel)
Declare.l car_pixel(car1,car2,car3,car4) 

UsePNGImageEncoder()
UsePNGImageDecoder()
UseJPEGImageDecoder()

Global V$="2.0 beta2"
Global Path$=GetCurrentDirectory()
Global sites$=Chr(10)+"LDV MULTIMEDIA : http://ldvmultimedia.com"+Chr(10)+Chr(10)+Space(15)+"Grand merci à Dobro & LNA"+Chr(10)+" Site de Dobro : http://michel.dobro.free.fr"

lng$="Français"
If lng$="Français"
  Global Cancel$="Annulé"
  Global errorfile$="Le fichier est introuvable"
  Global nofile$="Le fichier est indisponible pour Le moment, veuillez ré-essayer dans quelques minutes"
  Global ddl$="Téléchargement..."
  Global dejaup$="Vous avez déjà la dernière Version"
  Global QuoideNeuf$=Chr(10)+" "+V$+" - Quoi de neuf ?"+Chr(10)+"> Correctif mineur - Message clignotant pour l'info de mise à jour"+Chr(10)+"> Correction d'un bug majeur de décalage de texte"+Chr(10)+"> Recodage de la gestion des langues pour une compatibilité avec les OS non français ou anglais"+Chr(10)+"> Bug mineur corrigé"+Chr(10)+"> Format BMP supporté"+Chr(10)+"> Mise à jour automatique"+Chr(10)+"> Bug d'affichage de texte long corrigé"+Chr(10)+"> Vérification des extensions"+Chr(10)+"> Copie du texte dans le presse papier"+Chr(10)+"> Copie du texte dans un fichier .txt"
  Global Sign$="2008 / LDV MULTIMEDIA - Ce logiciel est gratuit - http://ldvmultimedia.com"
  Global f3d$="Convertissez un texte en image et vice et versa"
  Global cv1$="Convertir du Texte en image"
  Global cv2$="Convertir une image en Texte"
  Global convert$="Effectuer une conversion"
  Global filtre1$="Ficher Texte|*.txt;*.TXT;*.pb;*.php;*.html;*.htm;*.js;*.ini"
  Global filtre2$="Ficher image (*.png)|*.png;*.PNG"
  Global loadtxt$="Charger un fichier Texte"
  Global alert$="Nombre de caractères trop important !"
  Global wait$="Patientez S.V.P"
  Global png$="Ficher PNG|*.png;*.PNG"
  Global savpng$="Sauver l'image PNG"
  Global about$=Space(8)+"Ce logiciel a été créé par LDVMULTIMEDIA"+Chr(10)+Space(25)+"Codé par Ar-S et Dobro"+Chr(10)+Space(27)+"Ce logiciel est gratuit"+Chr(10)+sites$
  Global over$="Opération terminée"
  Global styl$="Texte (*.txt)|*.txt|Autres (*.*)|*.*"
  Global Loadpng$="Charger une image .PNG"
  Global Clipb$="Copier le texte dans le presse papier"
  Global savtxt$="Enregistrer le texte dans un fichier .txt"
  Global clipbok$="Le texte a été copié dans le presse papier"
  Global nomfich$="Choisissez un nom pour votre fichier"
  Global fi$="Le fichier "
  Global aec$=" a été sauvegardé"
  Global update$="Mise à jour"
  Global questddl$=" est disponible, voulez-vous la télécharger maintenant ?"
  Global upsave$="La mise à jour à été sauvée dans "
  Global nonet$="Aucune connection internet n'est detectée"
  Global Error$="Erreur"
  Global ErrRep$="Désolé, un répertoire porte le même nom, choisissez un autre nom pour votre fichier."
EndIf

;-}Fin langues

Enumeration
  #WIN : #Image_0 : #TXT1 : #Frame3D : #BT1 : #BT2 : #AFFICHE : #Image_Image_0 : #Fichier : #Image
  #fenetre_editeur : #editeur : #BTsave : #BTcopy : #SplashWin : #SplashTxt : #Font_SplashTXT
  #WINlng : #CheckBox_UK : #CheckBox_FR : #OK : #BT_MAJ
  ;ajouts
EndEnumeration

NewList Liste.l()

Procedure OpenWindow_SplashWin()
  If OpenWindow(#SplashWin, 0, 730, 292, 30, "", #PB_Window_BorderLess|#PB_Window_ScreenCentered)
    If CreateGadgetList(WindowID(#SplashWin))
      TextGadget(#SplashTxt, 5, 5, 280, 20, wait$, #PB_Text_Center)
      SetGadgetFont(#SplashTxt, LoadFont(#Font_SplashTXT, "Microsoft Sans Serif", 12, 272))
    EndIf
  EndIf
EndProcedure

Procedure.l car_pixel(car1,car2,car3,car4)
  pixel=RGBA(car1,car2,car3,car4)
  ProcedureReturn pixel   
EndProcedure

Procedure.s pixel_4car(pixel)
  R=Red(pixel)
  g=Green(pixel)
  b=Blue(pixel)
  a=Alpha(pixel)
  Debug a
  car$=Chr(R)+Chr(g)+Chr(b)+Chr(a)
  ProcedureReturn car$
EndProcedure

Define.l Event, EventWindow, EventGadget, EventType, EventMenu
;}
Procedure OpenWindow_WIN()
  If OpenWindow(#WIN, 330, 155, 640, 359, "ASCII2PIXEL by LDVMULTIMEDIA v"+V$, #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered)
    If CreateGadgetList(WindowID(#WIN))
      TextGadget(#TXT1, 120, 335, 415, 20,Sign$)
      ButtonGadget(#BT1, 20, 195, 300, 45, cv1$, #BS_FLAT)
      ButtonGadget(#BT2, 20, 250, 600, 45, cv2$, #BS_FLAT)
      StringGadget(#AFFICHE, 20, 305, 540, 20, convert$, #ES_CENTER|#PB_String_BorderLess|#PB_String_ReadOnly)
    EndIf
  EndIf
EndProcedure

OpenWindow_WIN()

;{- Event loop
Repeat
  Event = WaitWindowEvent()
  Select Event
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      Select EventGadget
          ;ENCODAGE
        Case #BT1
          filtre$=filtre1$
          filtre=0
          NomFichier$ = OpenFileRequester(loadtxt$,"",filtre$, 0)
          nbc=1
          ClearList(Liste())
          Position=0
          If OpenFile(#Fichier, NomFichier$)
            While Eof(#Fichier)=0
              car1.c=0
              car2.c=0
              car3.c=0
              car4.c=0
              If ReadData(#Fichier,@car1,1)
                nbc=nbc+1
                If ReadData(#Fichier,@car2,1)
                  nbc=nbc+1
                  If ReadData(#Fichier,@car3,1)
                    nbc=nbc+1
                    If ReadData(#Fichier,@car4,1)
                      nbc=nbc+1
                    EndIf 
                  EndIf
                EndIf
              EndIf
              nbp=nbp+1
              pixel= car_pixel(car1,car2,car3,car4)
              AddElement(Liste())
              Liste()=pixel
            Wend
            CloseFile(#Fichier)
            ;-{   1ere tentative de gestion de la taille des images.
            ; MessageRequester("test",Str(nbc)) : End ; test
            If nbc<22500
              Xpic=150 : Ypic = 50
              ; ElseIf nbc=22500 Or nbc<48000
              ; Xpic=320 : Ypic=50
            ElseIf nbc=22500 Or nbc<144000
              Xpic=320 : Ypic = 150
            ElseIf nbc=144000  Or nbc<384000
              Xpic=640 : Ypic = 400
            ElseIf nbc=384000  Or nbc<1440000
              Xpic=800 : Ypic = 600
            ElseIf nbc=1440000  Or nbc<2359296
              Xpic=1024 : Ypic = 768
            ElseIf nbc=2359296  Or nbc<3932160
              Xpic=1280 : Ypic = 1024
            ElseIf nbc>3932159
              MessageRequester("Alert",alert$)
              Break
            EndIf
            ;-FinModif
           
            ;-TXT en IMAGE
            CreateImage(#Image,Xpic,Ypic,32)
            StartDrawing(ImageOutput(#Image))
              DrawingMode(#PB_2DDrawing_AlphaChannel)
                Box(0, 0, Xpic, Ypic, RGBA(0, 0, 0, 0))
              DrawingMode(#PB_2DDrawing_Default)
                Box(0, 0, Xpic, Ypic, RGB(0, 0, 0))
              ResetList(Liste())
              For Y= 1 To Ypic-1
                For x=1 To Xpic-1
                  NextElement(Liste())
                  pixel=Liste()

                  
                  DrawingMode(#PB_2DDrawing_Default)
                    Plot(x,Y,pixel)
                  DrawingMode(#PB_2DDrawing_AlphaChannel)
                    Plot(x,Y,pixel)
                 
                  compteur=compteur+1
                  If compteur=nbp
                    compteur=0
                    Break 2
                  EndIf                               
                Next x   
              Next Y   
            StopDrawing()   
            ;- Sauvegarde
            Delay(500)
            SetGadgetText(#AFFICHE,wait$)
            filtre$=png$
            filtre=0
            NomFichier$ = SaveFileRequester(savpng$, "", filtre$, 0)
            ext$=LCase(GetExtensionPart(NomFichier$))
            If ext$<>"png" : NomFichier$=NomFichier$+".png" : EndIf
           
            If NomFichier$
              OpenWindow_SplashWin()
              Resultat = SaveImage(#Image, NomFichier$ , #PB_ImagePlugin_PNG)
              SetGadgetText(#AFFICHE,over$)
              CloseWindow(#SplashWin)
            Else
              SetGadgetText(#AFFICHE,Cancel$) ;-annul
            EndIf
          Else
            SetGadgetText(#AFFICHE,Cancel$)
          EndIf
         
          ;-IMAGE en TXT
        Case #BT2
          filtre$=filtre2$
          filtre=0
          NomFichier$ = OpenFileRequester(Loadpng$, "", filtre$, 0)
          Texte$="":car_4$="":pixel=0:compteur=0
          Resultat = LoadImage(#Image, NomFichier$,32)
          If OpenFile(#Fichier, NomFichier$)
            OpenWindow_SplashWin()
           
            StartDrawing(ImageOutput(#Image))
            
             
              For Y=1 To ImageHeight(#Image)-1
                For x=1 To  ImageWidth(#Image)-1
                  pixel=Point(x,Y)
                  If pixel>0
                    DrawingMode(#PB_2DDrawing_Default)
                    car_4$ = Chr(Red(pixel)) + Chr(Green(pixel)) + Chr(Blue(pixel));pixel_4car(pixel)
                    DrawingMode(#PB_2DDrawing_AlphaChannel)
                    car_4$ + Chr(Alpha(pixel))
                  EndIf
                  If pixel=0
                    Break 2
                  EndIf
                  Texte$=Texte$+car_4$
                  Debug Texte$
                Next x     
              Next Y
            StopDrawing()
            FreeImage(#Image)
            ;-editeur
            If OpenWindow(#fenetre_editeur,330, 155, 640, 660,"Result")
              CloseWindow(#SplashWin)
              If CreateGadgetList(WindowID(#fenetre_editeur))
                EditorGadget(#editeur,5, 5, 630, 550 )
                ButtonGadget(#BTcopy, 5, 560, 630, 45, Clipb$, #BS_FLAT)
                ButtonGadget(#BTsave, 5, 610, 630, 45, savtxt$, #BS_FLAT)
                SendMessage_(GadgetID(#editeur), #EM_SETTARGETDEVICE, #Null, 0)
                SetGadgetText(#editeur, Texte$)
              EndIf
            EndIf
            Repeat
              Event2 = WaitWindowEvent()   
              Select Event2   
                Case #PB_Event_Gadget
                  EventGadget = EventGadget()
                  Select EventGadget
                    Case #BTcopy
                      Texte$=GetGadgetText(#editeur)
                      SetClipboardText(Texte$)
                      MessageRequester("OK",clipbok$)   
                    Case #BTsave
                      Texte$=GetGadgetText(#editeur)
                      Defaut$ = Path$
                      filtre$ = styl$
                      filtre = 0 
                      FichierSave$ = SaveFileRequester(nomfich$, Defaut$, filtre$, filtre)
                      ext$=LCase(GetExtensionPart(FichierSave$))
                      If FichierSave$
                        If ext$<>"txt" : FichierSave$=FichierSave$+".txt" : EndIf
                        If CreateFile(1, FichierSave$)
                          WriteString(1, Texte$,#PB_Ascii)   
                          CloseFile(1)
                          MessageRequester("Info",fi$+FichierSave$+aec$)
                        Else
                          MessageRequester (Error$,Error$)
                        EndIf
                      Else
                        SetGadgetText(#AFFICHE,Cancel$)
                      EndIf
                  EndSelect
                Case #PB_Event_CloseWindow
                  CloseWindow(#fenetre_editeur)   
                  HideWindow(#WIN, 0)
                  SetGadgetText(#AFFICHE,over$)
              EndSelect
            Until  Event2=#PB_Event_CloseWindow
          Else
          EndIf
         
      EndSelect
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      Select EventWindow
        Case #WIN
          CloseWindow(#WIN)
          Break
      EndSelect
  EndSelect
ForEver
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par Ar-S »

Exacte, c'est bizarre. Surtout que le reste ensuite est propre. merci pour ces ajouts.

Si j'ai bien compris ce passage,

Code : Tout sélectionner

                 DrawingMode(#PB_2DDrawing_Default)
                  Plot(x,Y,pixel)
                  DrawingMode(#PB_2DDrawing_AlphaChannel)
                  Plot(x,Y,pixel)
il faut obligatoirement passer 2 fois ? 1 pour la couleur une pour la transparence ?
c'est dommage qu'on ne puisse pas tout indiquer d'une traite.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par Ar-S »

Il y a aussi une erreur pour la dernière série de caractères.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par kernadec »

bonjour merci Case
oui je comprend, mais comme je n'ai pas toujours envie de me prendre la tête avec plot
pour faire des essais de graphiques, Je prend box par facilité.

@Ar-S
j'étais aussi sur #PB_2DDrawing_AlphaChannel
car la lecture des pixels renvoyait rien.

vous y êtes, excellent.

Cordialement
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par Ar-S »

Oui mais tjrs le soucis du 1er pixel et de sa couche Alpha.
Quand à la dernière série de caractères, misère, en fait l'editeur affiche une série de car étrange un grand nombre de fois (du fait de la taille de l'image ?)
Vous pouvez l'observer en utilisant cet exemple comme référent :

http://arsworld.free.fr/pb/verlaine.txt
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: Texte => Pixels => Texte - erreurs (A nouveau)

Message par kernadec »

ces carrés représentent le caractère de fin et saut de ligne
probablement à la place de chr(10) et chr(13)
Répondre