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



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