Bitmap File Dump

21 de novembro de 2011

Bitmap File Dump é um script de SephirothSpawn que foi desenvolvido para possibiltar o maker a salvar bitmaps como arquivos de informações.

Para funcionar, o script deve ser inserido abaixo do ‘SDK’ e acima do ‘Main’. Depois crie uma pasta no diretório do seu jogo com o nome de Saved Bitmaps.

Sintaxe para salvar bitmap: - BitmapDump.save_bitmap(, 'filename')
Sintaxe para carregar bitmap: - BitmapDump.load_bitmap('filename')

#==============================================================================
# ** Bitmap File Dump
#------------------------------------------------------------------------------
# SephirothSpawn
# Version 1
# 2006-08-22
#------------------------------------------------------------------------------
# * Description :
#
#   This script was designed to let you save bitmaps as information files
#------------------------------------------------------------------------------
# * Instructions
#
#   Place The Script Below the SDK and Above Main.
#   Make Sure there is a folder in your game folder named 'Saved Bitmaps'
#------------------------------------------------------------------------------
# * Syntax :
#
#   Saving Bitmap :
#    - BitmapDump.save_bitmap(<bitmap>, 'filename')
#
#   Loading Bitmap :
#    - BitmapDump.load_bitmap('filename')
#==============================================================================

#------------------------------------------------------------------------------
# * SDK Log Script
#------------------------------------------------------------------------------
SDK.log('Bitmap File Dump', 'SephirothSpawn', 1, '2006-08-22')

#------------------------------------------------------------------------------
# * Begin SDK Enable Test
#------------------------------------------------------------------------------
if SDK.state('Bitmap File Dump')
  
#==============================================================================
# ** BitmapDump
#==============================================================================

module BitmapDump
  #--------------------------------------------------------------------------
  # * Directory
  #--------------------------------------------------------------------------
  Directory = 'Saved Bitmaps/'
  #--------------------------------------------------------------------------
  # * Save Bitmap
  #--------------------------------------------------------------------------
  def self.save_bitmap(bitmap, filename)
    # Creates Color Values Table
    red = Table.new(bitmap.width, bitmap.height)
    green = Table.new(bitmap.width, bitmap.height)
    blue = Table.new(bitmap.width, bitmap.height)
    alpha = Table.new(bitmap.width, bitmap.height)
    # Collects Bimap Pixels and saves
    for i in 0...bitmap.width
      for j in 0...bitmap.height
        color = bitmap.get_pixel(i, j)
        red[i, j] = color.red
        green[i, j] = color.green
        blue[i, j] = color.blue
        alpha[i, j] = color.alpha
      end
    end
    # Saves File
    file = File.open(Directory + filename + '.rxdata', 'wb')
      Marshal.dump([red, green, blue, alpha], file)
    file.close
  end
  #--------------------------------------------------------------------------
  # * Save Bitmap
  #--------------------------------------------------------------------------
  def self.read_bitmap(filename)
    # Opens File
    file = File.open(Directory + filename + '.rxdata', "rb")
      colors = Marshal.load(file)
    file.close
    # Assigns Color Tables
    red, green, blue, alpha = colors[0], colors[1], colors[2], colors[3], colors[4]
    bitmap = Bitmap.new(red.xsize, red.ysize)
    # Sets Bitmap Pixels
    for i in 0...bitmap.width
      for j in 0...bitmap.height
        bitmap.set_pixel(i, j, Color.new(red[i, j], green[i, j], blue[i, j], alpha[i, j]))
      end
    end
    # Returns Bitmap
    return bitmap
  end
end

#--------------------------------------------------------------------------
# * End SDK Enable Test
#--------------------------------------------------------------------------
end

Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Clique aqui e saiba como. Obrigado!

Deixe um comentário

Inscreva-se na nossa newsletter!