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


HSPTV!掲示板


未解決 解決 停止 削除要請

2025
0807
HokutoalStretch系統でハーフトーンを利用しないでコピーしたい1未解決


Hokuto

リンク

2025/8/7(Thu) 18:31:28|NO.103800

alStretchImageToScreenでドット絵を拡大コピーしたいのですが、ハーフトーンを利用しているときのようにぼやけてしまいます。
gzoomのようにピクセルを維持したままコピーしたいのですが、どうしたらうまくできますか?
透過情報を維持したままコピーしたいので、gzoomでは足りず、、、



この記事に返信する


usagi

リンク

2025/8/7(Thu) 20:07:30|NO.103801

こんにちわ
a2d(GDI+)にはグラフィックに対して補間モードを設定できるのですが、
このモジュールの場合、内部にアクセスして拡張する形でないと難しいですね。。。
よろしかったらどうぞ。

#include "a2d.hsp" ;★追加 #module a2dEx #uselib "gdiplus" #func GdipSetInterpolationMode "GdipSetInterpolationMode" int, int #deffunc alStretchImageToScreenNN int p2, int p1, int psx, int psy, int psw, int psh, int pdx, int pdy, int pdw, int pdh if imgValidArr@a2d(p2) { gsel p1 GdipCreateFromHDC@a2d hdc, varptr(tmpGraphics@a2d) if tmpGraphics@a2d { GdipSetInterpolationMode tmpGraphics@a2d, 5 ; ★最近傍補間(InterpolationModeNearestNeighborモード)ホントはここだけ追加したい GdipDrawImageRectRectI@a2d tmpGraphics@a2d, imgImageArr@a2d(p2), pdx, pdy, pdw, pdh, psx, psy, psw, psh, UnitPixel@a2d, pImageAttr@a2d, 0, 0 GdipDeleteGraphics@a2d tmpGraphics@a2d tmpGraphics@a2d = 0 return 0 } } return -1 #global ;★ここまで screen 0, 1024, 512 alCreateImage 0, 512, 512 if stat = -1 : dialog "GDI+ を初期化できませんでした。" : end alCreateImage 1, 128, 128 alLoadFile dir_exe+"\\hsptv\\tamane16.png" alStretchImageToScreen 1, 0, 0, 0, 128, 128, 0, 0, 512, 512 alStretchImageToScreenNN 1, 0, 0, 0, 128, 128, 512, 0, 512, 512 redraw



記事削除

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

NO.103800への返信

マスコット

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

名前

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

削除用パスワード

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

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

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