Page 1 of 1

conversion transparent image to sprite not working

Posted: Wed Jun 01, 2011 7:05 pm
by gabriel
hello:
newbie with sprites, I'm trying to transform a image with transparent fileds to sprite, I didn't succeed

Code: Select all

EnableExplicit
UsePNGImageDecoder()

Define.l Event, WindowID, GadgetID, EventType, EventMenu, dc
Global Font1.l, Font2.l,hdc.l
Define comport.s, i.a, r.u, teta.f, Pen1.l, Pen2.l, Pen3.l

Font1=LoadFont(0, "Arial", 18) 
Font2=LoadFont(2, "OCR A Extended", 18) 

;InitEngine3D()
InitSprite()
InitKeyboard()

If Not OpenPreferences("config.txt")
  MessageRequester("Error","aconfig.txt not found",#PB_MessageRequester_Ok)
  End
EndIf
comport= ReadPreferenceString("COMPORT","comx")

If Not OpenSerialPort(0, comport, 9600, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 1024, 1024)
  MessageRequester("Error","Can't open Serial Port",#PB_MessageRequester_Ok)
  End
EndIf
SerialPortTimeouts(0,100,100,10,10,100)

OpenWindow(0,400,200,300,300,"MY LAB")
OpenWindowedScreen(WindowID(0), 0, 0, 300, 300, 0, 0, 0)
LoadSprite(0, "device13.png")
DisplaySprite(0, 0, 0)

Repeat
  FlipBuffers()  
       
  Event = WaitWindowEvent() ; This line waits until an event is received from Windows
  WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
  GadgetID = EventGadget() ; Is it a gadget event?
  EventType = EventType() ; The event type

Until Event = #PB_Event_CloseWindow ; End of the event loop

instead of getting:
Image

I get:
Image

So what's the problem?

Re: conversion transparent image to sprite not working

Posted: Wed Jun 01, 2011 7:44 pm
by RASHAD
Hi

Code: Select all

EnableExplicit
UsePNGImageDecoder()

Define.l Event, WindowID, GadgetID, EventType, EventMenu, dc
Global Font1.l, Font2.l,hdc.l
Define comport.s, i.a, r.u, teta.f, Pen1.l, Pen2.l, Pen3.l

Font1=LoadFont(0, "Arial", 18)
Font2=LoadFont(2, "OCR A Extended", 18)

;InitEngine3D()
InitSprite()
InitSprite3D()
InitKeyboard()

; If Not OpenPreferences("config.txt")
;   MessageRequester("Error","aconfig.txt not found",#PB_MessageRequester_Ok)
;   End
; EndIf
; comport= ReadPreferenceString("COMPORT","comx")

; If Not OpenSerialPort(0, comport, 9600, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 1024, 1024)
;   MessageRequester("Error","Can't open Serial Port",#PB_MessageRequester_Ok)
;   End
; EndIf
; SerialPortTimeouts(0,100,100,10,10,100)

OpenWindow(0,400,200,300,300,"MY LAB")
OpenWindowedScreen(WindowID(0), 0, 0, 300, 300, 0, 0, 0)
ClearScreen($FFFFFF)
LoadSprite(0, "device13.png",#PB_Sprite_AlphaBlending|#PB_Sprite_Texture)
CreateSprite3D(0, 0)
Start3D()
DisplaySprite3D(0, 0, 0,250)
Stop3D()


Repeat
  FlipBuffers() 
       
  Event = WaitWindowEvent() ; This line waits until an event is received from Windows
  WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
  GadgetID = EventGadget() ; Is it a gadget event?
  EventType = EventType() ; The event type

Until Event = #PB_Event_CloseWindow ; End of the event loop

Or

Code: Select all

EnableExplicit
UsePNGImageDecoder()

Define.l Event, WindowID, GadgetID, EventType, EventMenu, dc
Global Font1.l, Font2.l,hdc.l
Define comport.s, i.a, r.u, teta.f, Pen1.l, Pen2.l, Pen3.l

Font1=LoadFont(0, "Arial", 18)
Font2=LoadFont(2, "OCR A Extended", 18)

InitSprite()
InitKeyboard()

; If Not OpenPreferences("config.txt")
;   MessageRequester("Error","aconfig.txt not found",#PB_MessageRequester_Ok)
;   End
; EndIf
; comport= ReadPreferenceString("COMPORT","comx")

; If Not OpenSerialPort(0, comport, 9600, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 1024, 1024)
;   MessageRequester("Error","Can't open Serial Port",#PB_MessageRequester_Ok)
;   End
; EndIf
; SerialPortTimeouts(0,100,100,10,10,100)

OpenWindow(0,400,200,300,300,"MY LAB")
OpenWindowedScreen(WindowID(0), 0, 0, 300, 300, 0, 0, 0)
ClearScreen($FFFFFF)
LoadSprite(0, "device13.png",#PB_Sprite_Texture)
TransparentSpriteColor(0, RGB(84,179,95))
DisplayTransparentSprite(0, 0,0)


Repeat
  FlipBuffers() 
       
  Event = WaitWindowEvent() ; This line waits until an event is received from Windows
  WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
  GadgetID = EventGadget() ; Is it a gadget event?
  EventType = EventType() ; The event type

Until Event = #PB_Event_CloseWindow ; End of the event loop

Edit : Code modified

Re: conversion transparent image to sprite not working

Posted: Thu Jun 02, 2011 5:33 am
by gabriel
Thank you very much RASHAD :D

Re: conversion transparent image to sprite not working

Posted: Fri Jun 03, 2011 8:37 pm
by gabriel
Just to make sure:
can I understand that original transparent color in picture is not taken into account in sprites??
To Rashad: only the second method worked with me

Re: conversion transparent image to sprite not working

Posted: Fri Jun 03, 2011 9:07 pm
by RASHAD
I am using PB 4.51 x86 Win 7 x64
Maybe because of your configurations (check it)

In second method the transparent color is taken into consideration