RPGツクールMV用プラグイン投稿・告知サイト

#ツクプラ

YKNR Snapshot Exporter - YKNR_SnapshotExporter.js

シェア用テキスト:
▼YKNR Snapshot Exporter(焼きノリ様作) - YKNR_SnapshotExporter.js
https://plugin.fungamemake.com/archives/12455
ウィンドウのみ/スプライトのみを 画像ファイルとしてダウンロードできる関数を追加します。

ふりがな:すなっぷしょっとえくすぷろーらー

機能概要: ウィンドウのみ/スプライトのみを 画像ファイルとしてダウンロードできる関数を追加します。

利用規約(ライセンス): MITライセンス

作者:焼きノリ

作者サイト:https://x.com/Noritake0424

解説ページ:https://github.com/Yakinori0424/RPGMakerMVPlugins/blob/…

ダウンロードページ:https://raw.githubusercontent.com/Yakinori0424/RPGMaker…

ファイル名:YKNR_SnapshotExporter.js

プラグインのヘルプ:

/*:
 * ===========================================================================
 * @plugindesc 画面の他に、ウィンドウのみ/スプライトのみを
 * 画像ファイルとしてダウンロードできる関数を追加します。
 * @author 焼きノリ
 * ===========================================================================
 *
 * @param DefaultJpegQuality
 * @text JPGの品質のデフォルト値
 * @desc JPGで出力する際の品質の初期値を設定します。
 * export時に品質が未指定だった場合のみ適用されます。
 * @type number
 * @min 0
 * @max 100
 * @default 90
 *
 * @param DefaultDLTimeLimit
 * @text URL有効秒数の設定
 * @desc 一部ブラウザの画像のURLが有効な時間を秒単位で設定します。
 * 画像のDL中であっても、時間を過ぎるとDLできなくなります。
 * @type number
 * @min 5
 * @max 300
 * @default 60
 *
 * @param ScreenshotKeyCode
 * @text スクリーンショットキー
 * @desc スクリーンショットを行うためのショートカットを設定します。
 * @type select
 * @option none
 * @value 0
 * @option F1
 * @value 112
 * @option F2
 * @value 113
 * @option F3
 * @value 114
 * @option F4
 * @value 115
 * @option F5
 * @value 116
 * @option F6
 * @value 117
 * @option F7
 * @value 118
 * @option F8
 * @value 119
 * @option F9
 * @value 120
 * @option F10
 * @value 121
 * @option F11
 * @value 122
 * @option F12
 * @value 123
 * @default 0
 * 
 * @param ScreenshotModifierKey
 * @text 装飾キー
 * @desc スクリーンショットを行うための装飾キーを設定します。
 * ここで指定されたキーを同時に押さないと撮れません。
 * @type select
 * @option none
 * @value 0
 * @option Ctrl
 * @value 1
 * @option Shift
 * @value 2
 * @option Alt
 * @value 4
 * @option Ctrl + Shift
 * @value 3
 * @option Ctrl + Alt
 * @value 5
 * @option Shift + Alt
 * @value 6
 * @option Ctrl + Shift + Alt
 * @value 7
 * @default 0
 * @parent ScreenshotKeyCode
 * 
 * @param ScreenshotFormat
 * @text 画像フォーマット
 * @desc ショートカットキーでスクリーンショットを行った場合の
 * 画像フォーマットを設定します。
 * @type select
 * @option png
 * @option jpg
 * @default png
 * @parent ScreenshotKeyCode
 * 
 * @help
 * ===========================================================================
 *【!注意!】
 * ※ツクールMV本体のバージョンが 1.6.1 未満の場合、動作できません。
 * ===========================================================================
 *【機能紹介】
 * このプラグインは主に開発者向けに作られたものです。
 * 
 * 画面のスクリーンショット機能に加え、任意のウィンドウ or スプライトだけを
 * png/jpg としてダウンロードすることができます。
 * 
 * スクリーンショットだとどうしても背景に移りこんでしまう...など、
 * ゲーム中に表示されたパーツのみを出力したいときに使えるかもしれません。
 * 
 * ブラウザ経由で画像をダウンロードするため、
 * ネット上にアップロードしたゲームでも本機能は有効です。
 * (Chrome/FireFoxを用いて、GitHub上で動作確認済み)
 * 
 * ダウンロードした画像の保存場所は、ブラウザの設定に依存します。
 * ツクールからのテスト実行では、毎回保存場所を聞かれます。
 * 
 * 画像のファイル名のフォーマットは以下になっています。
 *   (ゲームタイトル)_(クラス名)_(年月日時分秒ミリ秒).(png/jpg)
 * 
 * スクリーンショット機能に限り、
 * ショートカットキーでいつでも撮ることができるようになっています。
 * プラグインパラメータから、キーの設定を行ってください。
 * 不要であれば none を指定してください。
 * 
 * 
 * ---------------------------------------------------------------------------
 *【実装内容詳細】
 * ・Bitmap.snap 関数で、出力する幅/高さ、元の幅/高さを指定できる引数を追加。
 *     Bitmap.snap(stage, dw?, dh?, cw?, ch?)
 *   これ以下の機能のためにこの関数を拡張。
 * 
 * ・Bitmap.convert 関数を新たに追加。
 *     Bitmap.convert(pixi, dw?, dh?)
 *   PIXI.Sprite or PIXI.Container クラスを継承したオブジェクトなら
 *   個別にビットマップを作成して返します。
 *   このプラグインでは Sprite / Windowを渡しているが、
 *   実は WindowLayer とか Weather とか ToneSprite も渡せる。サポートしないけど。
 *   Stage も渡せる。おそらくサイズがおかしくなるだろうが。
 * 
 * ・Bitmapクラスのプロトタイプに、
 *   ビットマップデータを png/jpg としてダウンロードする関数を追加。
 *     Bitmap.prototype._export(className?, format?, quality?)
 * 
 * ・Bitmap/Sprite/Windowクラスのプロトタイプに、
 *   ダウンロード用の関数をそれぞれ用意しています。
 *   基本的にはこちらの関数を使うのがよいです。
 *     Bitmap.prototype.exportPNG(className?)
 *     Bitmap.prototype.exportJPG(className?, quality?)
 *     Sprite.prototype.exportPNG()
 *     Sprite.prototype.exportJPG(quality?)
 *     Window.prototype.exportPNG()
 *     Window.prototype.exportJPG(quality?)
 * 
 * ・SceneManagerクラスに、
 *   画面を撮影したものをダウンロードする関数を用意しています。
 *     SceneManager.exportPNG()
 *     SceneManager.exportJPG(quality?)
 * 
 * ・Sprite や Window のダウンロードは、一度Bitmapに変換させてから
 *   それを画像ファイルとして出力するという仕様で設計。
 * 
 * ・ダウンロードの実装のため、アンカー要素を作成して利用しています。
 *   Safariでは一部動作しないようなので、別タブで画像を開くようにしています。
 * 
 * 
 * ---------------------------------------------------------------------------
 *【お試し】
 * 
 * いずれかの画面で以下をコンソールから実行すると
 * 現在の画面の画像をダウンロードします。
 * -------------------------------------
 * SceneManager.exportPNG();
 * -------------------------------------
 * 
 * メニュー画面やセーブ/ロード画面で以下をコンソールから実行すると
 * 背景の画像をダウンロードします。
 * -------------------------------------
 * SceneManager.backgroundBitmap().exportPNG();
 * -------------------------------------
 * 
 * タイトル画面で以下をコンソールから実行すると
 * 「はじめから」などのコマンドのウィンドウの画像をダウンロードします。
 * -------------------------------------
 * SceneManager._scene._commandWindow.exportPNG();
 * -------------------------------------
 * 
 * ===========================================================================
 * 
 * ---------------------------------------------------------------------------
 *【その他】
 * <!> Bitmap.snap を再定義しています。
 *
 * ---------------------------------------------------------------------------
 *【更新履歴】
 * [2018/12/16] [1.0.0] Twitterで先行公開
 * [2018/12/22] [1.0.1] プラグインパラメータの親設定のミス修正
 *                      Bitmap.snapの再定義をヘルプに明記
 *                      Bitmap.snapの再定義チェックを追加
 *
 * ===========================================================================
 * [Blog]   : http://mata-tuku.ldblog.jp/
 * [Twitter]: https://twitter.com/Noritake0424
 * ---------------------------------------------------------------------------
 * 本プラグインは MITライセンス のもとで配布されています。
 * 利用はどうぞご自由に。
 * http://opensource.org/licenses/mit-license.php
*/

スポンサードリンク

スポンサードリンク

Copyright© #ツクプラ , 2026 All Rights Reserved.