魔劍工舖

關於部落格
RPG製作大師XP腳本為主要更新

RPG製作大師VX腳本為其次更新

RPG製作大師VX_Ace目前不考慮

RPG製作大師MV腳本完全沒打算

留言完建議重新整理看看是否顯示

目前不處理本舖外腳本的相關問題

其他相關事項請觀看規定注意事項

本舖未來的經營計畫與VA的支援




var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-37462754-1']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

  • 288039

    累積人氣

  • 1

    今日人氣

    0

    訂閱人氣

【腳本】位圖儲存

 更新次數:0  修改資料  XP VX VA(理論上)   
效果很簡單,將位圖目前已經描繪的內容儲存成圖片檔案
☆建立 位圖 (BitMaP,BMP) 格式的檔案,採用無壓縮32位元的BMP格式(檔案很大的意思)
☆建立 可攜式網路圖形(Portable Network Graphics,PNG) 格式的檔案,現只用3個數據塊

雖然我找不到相關或者說是我會用的API (雖然BMP檔的API已經有個方向了)來產生圖檔
但自從在寫了Win32API的時候,可透過編排或者換算字元的方式來算出其他編碼的字元
於是把這想法用在檔案上,檔案也是由位元組所組成的,如果說檔案的位元組相同的話
就可視作是相同的檔案,執行上也無差異(除非該檔案或系統針對該檔案做其他處理)
也就是說可以只要符合其他檔案的位元組編排方式,就能靠字元組成1個圖檔出來

!擷取視窗的功能我打算透過API來實現,因RM畫面不是全都用Bitmap類來表示
 (雖說如此,實際上還是能透過用Bitmap慢慢描繪地圖的方式來實現就是了...)
!目前BMP格式在其他環境下檢視不會有透明效果,但RM使用卻能正常透明,待研究...
      
 
安裝方法
打開腳本編輯器,對任意腳本按下右鍵,選擇插入,會出現1個空白腳本
在空白腳本內貼上以下腳本:

點選框框內的腳本按右鍵打開選單,選擇 [全選] 後在選擇 [複製] ,在指定的位置中貼上腳本即可
  
   
設置腳本
位圖儲存[R]  
位圖.save(檔案路徑)
將當前位圖描繪的圖像儲存在指定路徑中,目前支援兩種檔案格式,分別是
PNG,只使用基本的IHDR、IDAT、IEND這3種必選數據塊,基本上壓縮率不高
BMP,使用32位元(為了支援透明色)無壓縮方式儲存,基本上檔案會很肥(笑)  
位圖:RGSS定義的Bitmap對象,相當於一個畫板,可繪製圖形、文字、貼圖...等
   可使用『Bitmap.new』指定寬度和高度或者是檔案路徑名稱來產生
   或者是XP的『RPG::Cache』或VX的『Cache』也能生成位圖
檔案路徑:字串,含副檔名的檔案名稱以及路徑,路徑可為相對路徑或者是絕對路徑
     副檔名可以為png和bmp(不區分大小寫,其他副檔名會出錯)
返回值:整數,代表寫入的檔案大小(單位位元組)
!其他圖片檔案格式,如gif、jpg、ico...等目前還不支援,不過除了jpg外RM因該也不能用吧 
  
其他方法 
位圖.save_png(檔案路徑)
# 等同 save 方法,只是不管副檔名為何都使用 PNG 的格式來產生檔案
位圖.save_bmp(檔案路徑)
# 等同 save 方法,只是不管副檔名為何都使用 BMP 的格式來產生檔案
 
 
範例腳本  
# 建立與描繪位圖
bitmap = Bitmap.new(300, 100) # 建立位圖
bitmap.font.name = '標楷體'
bitmap.font.color = Color.new(0, 128, 0)
bitmap.draw_text(0, 0, 128, 32, '魔劍工舖') # 描繪綠字
bitmap.fill_rect(32, 32, 150, 20, Color.new(255, 255, 0)) # 描繪黃格
# 儲存檔案
bitmap.save("sword86.bmp") # 建立BMP檔案
bitmap.save("sword86.png") # 建立PNG檔案
# 顯示圖片
devil0 = Sprite.new # 建立顯示用精靈(背景用,透明測試)
devil0.bitmap = Bitmap.new(300, 200)
devil0.bitmap.fill_rect(0, 0, 300, 200, Color.new(128, 128, 128)) # 灰背
devil1, devil2 = Sprite.new, Sprite.new # 建立顯示用精靈
devil2.y = 100
devil1.bitmap = Bitmap.new("sword86.bmp") # 顯示剛建立的BMP圖片
devil2.bitmap = Bitmap.new("sword86.png") # 顯示剛建立的PNG圖片
執行之後會顯示一個灰色格子,格子上半部為BMP檢視,下半部為PNG檢視
一部內容為 魔劍工舖 4個綠字 和1條黃色格子
然後可以打開該遊戲的資料夾,會發現多出 sword86 兩個圖片檔(PNG和BMP檔各1個)
 
 
參考資料 
● BMP格式資料:瘋小貓的華麗冒險 - 點陣圖(Bitmap)檔案格式 
● PNG格式資料:解析PNG图像文件 - 百度文库 

相簿設定
標籤設定
相簿狀態