HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
1211
けんやくpngファイルの保存方法3解決


けんやく

リンク

2020/12/11(Fri) 11:39:51|NO.91909

PNGファイルを読み込み、縮小して保存するプログラムを作りたいのですが、うまく保存されません。
解決方法のご教授をお願いいたします。

〜〜〜

#include "a2d.hsp"
#include "hspcv.as"

title "hsp.exe"
randomize

size_png=512

screen 0,size_png,size_png
picload "c_icon_512x512.png"

file_name="ic_launcher.png"
screen 1,size_png,size_png

size=36
gsel 1 :pos 0,0
redraw 0
gzoom size,size,0,0,0,size_png,size_png
redraw 1
alSaveFile "file_name.png","image/png",0,0,size,size



この記事に返信する


MillkeyStars

リンク

2020/12/11(Fri) 13:30:20|NO.91911

alSaveFile は、Artlet2D で作成した仮想イメージの情報でしか保存できませんので、保存する前に仮想イメージを作成してください。

#include "a2d.hsp" #include "hspcv.as" title "hsp.exe" randomize size_png=512 screen 0,size_png,size_png picload "c_icon_512x512.png" file_name="ic_launcher.png" screen 1,size_png,size_png size=36 gsel 1 :pos 0,0 redraw 0 gzoom size,size,0,0,0,size_png,size_png redraw 1 alCreateImage 0,size,size //仮想イメージを作成 alCopyScreenToImage 1,0,0,0,size,size,0,0 //HSP Screen 1 → 仮想イメージ 0 にコピー alSaveFile "file_name.png","image/png",0,0,size,size



TOMATO

リンク

2020/12/11(Fri) 13:44:34|NO.91912

リサイズだけであれば、Artlet2Dだけで完結できるので、
そっちの方がすっきりするかも…?


#include "a2d.hsp" size=36 file_name="ic_launcher.png" alCreateImageByFile 0, "c_icon_512x512.png" size_w = alGetWidth() : size_h = alGetHeight() alCreateImage 1, size, size alStretchImageToImage 0, 1, 0, 0, size_w, size_h, 0, 0, size, size alSaveFile file_name, "image/png" ; 解放処理は省略



けんやく

リンク

2020/12/11(Fri) 21:59:55|NO.91913

お二方
ありがとうございます。

TOMATOさんのほうがスッキリされていたので使わせていただきました。
無事うまくいきました。

pngを指定してhsp3dishのアイコンにリサイズして指定階層にアウトプットさせようとしていたのですが、上記で止まって困っておりました。
おかげさまでできました。
ありがとうございます。


#include "a2d.hsp" alCreateImageByFile 0, "c_icon_512x512.png" size_w = alGetWidth() : size_h = alGetHeight() file_name="ic_launcher.png" dir_name="res" //フォルダが無ければ作成する dirlist dir,dir_name,5 if stat=0 :mkdir dir_name size=36: dir_name="res\\drawable-ldpi" :gosub *make_png size=48: dir_name="res\\drawable-mdpi" :gosub *make_png size=72: dir_name="res\\drawable-hdpi" :gosub *make_png size=96: dir_name="res\\drawable-xdpi" :gosub *make_png size=144: dir_name="res\\drawable-xxdpi" :gosub *make_png size=192: dir_name="res\\drawable-xxxdpi" :gosub *make_png end *make_png //フォルダが無ければ作成する dirlist dir,dir_name,5 if stat=0 :mkdir dir_name alCreateImage 1, size, size alStretchImageToImage 0, 1, 0, 0, size_w, size_h, 0, 0, size, size alSaveFile dir_name+"\\"+file_name, "image/png" return



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.91909への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2021(c) All rights reserved.