忍者ブログ
ADMINNEW ENTRY
C A L E N D A R
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

HP→http://sora-blue.net/~kuar/index.html
<<< 8 9 10 11 12 13 14 15 16 17 18 >>>
2024-05-09(Thu)
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2009-03-25(Wed)
挫けた。
それはもういろいろと。

GDI+による超簡単なpngの表示方法のサンプルがあったがhが存在しなくて弾かれた。
hの入れ方をググってどこから手に入れるかまではわかったがどこにあるのかわかんなくて挫けた。

libpngを再度頑張ったが結果が同じで挫けた。

Javaに逃げるお( ^ω^)

透明になっている部分に関しては特にイベントは発生しないらしい(?)。
つまりリペイント処理をしようが一切影響が無い。再描画できず。
2つの透過png:画像Aと画像Bがあったとして画像Aのほうがでかいとして

画像Aを出したあと画像Bを出した場合、画像Aの部分が残る。

こんな感じで。下のようになるのが正しい。



単にリペイント処理が行われていないだけなのでリペイントさせるように背景を一時的に塗りつぶして再び背景を透過させてやればいい。
時計のスレッドを利用しているので大体2秒ほど残念なことになるが別途スレッドを用意してintervalを狭めてやればマシにはなる。
ソース(java)
時計処理はbootcampによる時差修正のため。

this.setAlwaysOnTop(true);の場合、spacesが認識してくれないらしく窓の移動ができないようなのでドラッグをしている間this.setAlwaysOnTop(false);にして認識させ窓移動ができるように試みたがなぜかできない。
System.out.println();でデバッグしてドラッグしている時にfalseになっていることも確認済み。
なんで動かないんだ。


spacesってのはデスクトップ拡張アプリケーションみたいなもの。


見ての通り画面が4つある。これはアナログ的に考えて画面がまんま4つあると考えていい。
左上がブラウザ用のウィンドウ、右上がphoto用、左下がプログラミング専用窓・・と言ったように専用の画面を自分でわけることができたりする。
メモリが許す限りこの画面は増やすことが可能。この画面はショートカットキー1つで切り替えできる。

どこにやったか一目でわかる機能付き。左上のウィンドウにはブラウザとメモ帳と2ch専用ブラウザが立ち上がっているようだ。

PR


2009-03-24(Tue)
無題
結局マスク処理でも汚い中間色が発生することを確認。
pngだ。pngしかない。が、しかししかししかし標準ではbmpしか対応していないという。
対応策は数点。
・自力でpngを解析してあれやこれやとする
・WIN32APIでなんとかなるのか?
・外部からなんかやる
・C++に移行してC++でなんか使って頑張る

とりあえず外部からなんとかする。
libpngによるpng対応を目指す。
zlibビルド時にwarning2つ。とりあえず.libはできるけどunzip.libが存在しない件について
代わりにunzip.cとunzip.h突っ込んどいたけどいいのかこれ
VC++2008ではエラーが数点でてしまう。おそらくバージョンアップでコードが変わったものだろうが元々のコードがさっぱりなのでVC++6にしてコンパイル。
成功するがEXの拡張ウィンドウが対応しないようだ。この辺はあとからなんとかできると思ったのだが案の定libpngの使い方がわからない。
てかエラーがでてないだけで実際完成しているのかすらわからん。
参考サイト探してみたけどコードが長くてわけわからん。間違いなく初心者殺し。
しかしpngを扱えないと後々辛いと言えば辛い。

http://homepage3.nifty.com/ysflight/pngdecoder/pngdecoderj.html
サンプルでpngを読み込むプログラムがあったので挑戦したが透過pngの表示が残念だった。
透過は不完全らしい。コードが簡単だっただけに残念。

VC7.0においてはCImageたるものがあるらしいがVC2008、VC6とも定義されてないと返され使えず。
参考サイトも特には見つからなかったので使うに使えず。




C、C++はめんどくさいかわりに何でもできると聞いていただけになんとも不甲斐ない。


2009-03-23(Mon)
無題

背景が黒。これを透明色としてウィンドウを透過させ画像を表示する。
すると画像にジャギーが現れる。画像の輪郭が黒だからここが一部透過されてジャギーがでているのかと思い線画をオレンジにして再度実行。
しかし黒いジャギーが現れる。つまるところ背景の黒がそのまま残っている状態であると。
bmp且つマスク処理も行っていないこの現状において中間色は一切存在しないはずであるため全ての黒は透過されるはずである。
しかしながら実際に残っている。まるでアンチエイリアスのある絵にペイントの塗りつぶしで背景を一色に染めたみたいじゃないか。
いや実際そうなのか。キャラクターの背景黒だからそこを透明色で塗りつぶしたってことで。
結局ここで中間色ができてしまってる。
ならばマスク処理?
しかしマスク処理書いたのはいいが画像が表示されん。コードは正しいはず。
逆に以前のコードから拡張ウィンドウのEXにした際は窓ができずにすぐに終了してしまう。
いったい何が起こってるんだ。


結局のところJavaが一番簡単かつ奇麗に仕上がる。
標準でドラッグ移動、一行で透過、一行で窓無し、一行で最前表示という手軽さ。
でもMACでしかだめ。そして後から最前表示が弄れそうにない。
しかしMACならobjective-cでつくれるようにしなければ。
Appleからサンプルコードでウィンドウ透過、ドラッグ移動のサンプルこそあるが解析にかなり時間がかかりそうだ。


2009-03-22(Sun)
無題
いつの間にかSaiが透過pngで保存できるようになっていた。使いにくいけど。
そしてskypeをアップデートしたらすごいことになってた。インターフェイス変わり過ぎだろjk


御坂妹。なぜかサムネ黒い。

意気揚々と描き始めた約24h前。しかし完成してみると何かが足りない。
アニメ塗りにするとなぜかこういうことが起こるから困る。
しかしなぜこのキャラに愛着がでたのかが自分としてわからん。ロリキャラでもツインテールでもなければ妹キャラでもないのに。妹という立場としてはあるのだがイマイチなんというかストライクゾーンに入ってないはずなのにぐっときた。
そういう観点からみたら真のストライクは黒子が本命のはずなのに全くこない。インデックスは擦った。
不思議ちゃんが好きなわけではない。それなら美幸好きにならないという点で矛盾。
ぐっと来たのはいいけどその刹那血まみれになったがな。
まあひぐらしのおかげで免疫はついてましたが。
光源の無い目は好きな訳ですが本当にそれくらいしか好みの範疇ではない。まさに不思議。
世間ではレイプ目だとか種割れとか言われてますけどNE


2009-03-21(Sat)
無題
だいぶCもわかるようになってきた。流石に2日もやればそれなりに。
CreateWindowExにて透過できるウィンドウを作成可能、実際にできたのだがマスク処理では中間色が発生してどうも汚くなってしまうようだ。
結局のところこのままいけばCでもVBでも結果が同じになる。




インデックスの20話のラストオーダーのウィルスコードでも翻訳してみようかと見てみた。
初見でhtmlくさいなーと思っていたら普通にhtmlだった。
<div>とかh3とか<img src>を確認。戦争ってレベルじゃねーぞ
まあ本当にウィルス書いててもまずいがなぜにhtmlなんだろうか。
一部よくわからんコードもあったが基本構造は確実にhtml。widthやheightといったものもあり。英語がベースか。
一時停止をかけるとぼけて見えないので詳しくはわかんなかった。


<<< 8 9 10 11 12 13 14 15 16 17 18 >>>

Powered by NinjaBlog. Template by うさねこ.
忍者ブログ[PR]