[過去ログ]
Delphiゲームプログラミング相談室 (976レス)
Delphiゲームプログラミング相談室 http://echo.5ch.net/test/read.cgi/gamedev/1006249204/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
290: 名前は開発中のものです。 [sage] 03/05/21 03:36 ID:pDtj6lgc >>288 TBitmap の ScanLine を使って、>>289 さんの仰るとおり 1 pixel ごとに 処理するヨロシ。 http://echo.5ch.net/test/read.cgi/gamedev/1006249204/290
295: 288 [sage] 03/05/25 03:35 ID:OUd92QaS >>289 >>290 ttp://www.sm.rim.or.jp/~shishido/delmono.html とりあえず↑のサイトを参考に(というかほぼコピペ)作ってみますた。 ttp://www.geocities.co.jp/SiliconValley/1115/adv01.zip 1ピクセル単位で色を取得、黒だったら白に、それ以外の色だったら 黒にするという処理を行いました。ただ、問題点が2つほど… ・For文で回してる処理が非常に遅い(scanlineのせい?) ・残したいキャラに含まれている黒色までマスク化してしまう(目の黒など) この2つが非常に悩ませてくれます… 上はともかく、下は 見た目に非常に影響するので(;´д⊂ やはり、透明化したくない 部分の黒色だけ、塗りつぶさないような条件処理でしか 解決策はないんでしょうか? >>293 Transparentプロパティを使えば出来ますが、プログラムで再現したかったのでつ… >>294 とりあえず一番簡単な方法である、Susieにプラグイン入れて 画像抜き出しやってるんですが、マスク画像は入ってるのですね。 じゃぁDOの方も、立ち絵ファイルと一緒になってたりするのかしら… http://echo.5ch.net/test/read.cgi/gamedev/1006249204/295
296: 290 [sage] 03/05/25 17:23 ID:ll42N4KR >>295 ソース拝見いたしました。 > ・For文で回してる処理が非常に遅い(scanlineのせい?) マスクを作るプロシージャにて、パレットコードを String に変換している 為と思われます。 procedure TForm1.make_mask(sBmp:TBitmap); var i,j, x : Integer; p : PDWORD; mp : PBYTEArray; begin for i:=0 to sBmp.Height-1 do begin p := sBmp.ScanLine[i]; // ビットマップ座標(0,i)のポインタ mp := mask.ScanLine[i]; x :=0; for j:=0 to sBmp.Width-1 do begin if p^ = $00000000 then //if str_mask = '000' then begin mp[x]:=$ff; mp[x+1]:=$ff; mp[x+2]:=$ff; // B=255 , G=255 , R=255 end else begin mp[x]:=$00; mp[x+1]:=$00; mp[x+2]:=$00; // B=0 , G=0 , R=0 end; Inc(p); Inc(x,3); end; end; end; ……と、いうのは如何でしょう?( PDWORD よりも PDCHARArray の方が わかりやすいでしょうか) http://echo.5ch.net/test/read.cgi/gamedev/1006249204/296
298: 290 [sage] 03/05/25 17:41 ID:ll42N4KR 連続投稿すみません。 キャラ絵を見てみましたが、瞳の中や影にあたる部分に背景を透けさせる色 RGB(0,0,0) で塗られている部分があります。 この絵からマスクをつくると、目の部分が抜けてしまいますね。 http://echo.5ch.net/test/read.cgi/gamedev/1006249204/298
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.035s