home *** CD-ROM | disk | FTP | other *** search
/ ANews 3 / AnewsCD3.iso / DP / Programmation / PureBasic_Demo / Examples / Sources / Picture.pb < prev    next >
Text File  |  1999-10-10  |  1KB  |  65 lines

  1. ;
  2. ; ***********************************
  3. ;
  4. ; Picture example file for Pure Basic
  5. ;
  6. ;    © 1999 - Fantaisie Software -
  7. ;
  8. ; ***********************************
  9. ;
  10. ;
  11.  
  12. InitPicture(0)
  13. InitRequester()
  14. InitBitMap(0)
  15. InitScreen(0)
  16. InitWindow(0)
  17. InitPalette(2)
  18.  
  19. FindScreen(0,"")
  20.  
  21. FileName$ = FileRequester(0)
  22.  
  23. If FileName$ <> ""
  24.   res.l = LoadPicture(0,FileName$)
  25.  
  26.   If res>0
  27.  
  28.     NPrint ("Picture information: "+Str(PictureWidth())+"*"+Str(PictureHeight())+"*"+Str(PictureDepth()))
  29.  
  30.     AllocateBitMap (0, PictureWidth(), PictureHeight(), PictureDepth())
  31.  
  32.     PictureToBitMap(0, BitMapID())
  33.  
  34.     GetScreenPalette(0, ScreenID())
  35.  
  36.     CreatePalette (2,1 LSL ScreenDepth())            ; Put the display black
  37.     DisplayPalette(2, ScreenID())   ;
  38.  
  39.     If OpenWindow (0, 0, 0, ScreenWidth(), ScreenHeight(), #WFLG_BORDERLESS, 0)
  40.  
  41.       SetDrawingOutput(WindowRastPort())
  42.  
  43.       GetPicturePalette (1, PictureID())
  44.  
  45.       x.w = (ScreenWidth()  - PictureWidth() )/2
  46.       y.w = (ScreenHeight() - PictureHeight())/2
  47.  
  48.       If x<0 : x=0 : EndIf
  49.       If y<0 : y=0 : EndIf
  50.  
  51.       DisplayPalette(1, ScreenID())
  52.  
  53.       CopybitMap(BitMapID(),0,0,x,y,PictureWidth(), PictureHeight())
  54.  
  55.       MouseWait()
  56.  
  57.     EndIf
  58.  
  59.     DisplayPalette (0, ScreenID())
  60.  
  61.   EndIf
  62. Endif
  63.  
  64. End
  65.