アプリ版:「スタンプのみでお礼する」機能のリリースについて

UWSCのpeekcolorで取得したカラーコードを元に
絵をコピーさせるにはどうすれば良いでしょうか?
画像関係のプログラム経験が無い為お解かりに
なる方お願いいたします。

具体的に解からない事。
1、
アルゴリズム的には、UWSCのpeekcolor命令を使い
配列変数にカラーコードを左上の座標から順に格納する
と言う事位は解かるのですが、UWSCにpset系の命令が無いので
どのようにした物かと悩んでおります。

他のプログラム言語に引き渡す方法もあるのでしょうが何の言語を
どのように使って良いか想像もつきません。

2、取得した色情報に範囲を持たせる方法で色をハッキリさせるやり方
  も解かればお願いします。

この様な、処理は今回だけなので、出来れば最も簡単に出来そうな
方法がお解かりになる方お願いします。

A 回答 (5件)

UWSCはよく知らないのでもしかしたら変なことをしているかもしれませんが、とりあえず「メモ帳に16進ダンプ→バイナリエディタに書き込み」でBMPファイルを作ることができますね。



手順としては、

id = getid("メモ帳")
for y = 0 to 31
for x = 0 to 31
color = peekcolor(x,31-y)
sendstr(id, format(color,6,-1))
next
next

こんな感じで出力したものを、スペースを0に置換。
同サイズのBMPファイルを用意する。
バイナリエディタで開いて、データ部分にさっきの出力を貼り付け。

100×100で試したところ数分たっても止まらなかったので途中でやめて32×32で試してみました。これで10秒くらい。
バイナリエディタは「狐'sバイナリエディタ」というものを使いました。

2番については失礼ながら文章の意味が分りませんでした。
    • good
    • 0
この回答へのお礼

サンプルありがとうございます。
>2番については失礼ながら文章の意味が分りませんでした。
自分だけ解かっていたようですみません。
■質問2の補足
色の読み取り時に「マスクを掛ける」←(用語の意味が理解出来て居るか
自身無いです)
極端に表現するなら赤系の色は、全部赤のカラーコードに変換する処理の
事です。
説明になっているでしょうか?

「sendstr」
で読み取ったカラーコードをテキストに変換するわけですね。
ここまでは、良く解かりました問題は、
>同サイズのBMPファイルを用意する。
からなのですが、カラーコードを出力したメモ帳の拡張子をBMPに
変更して狐'sバイナリエディタにドロップしてみました。
16進コードが吐き出されました。

■解からない部分の詳細
1
バイナリ編集や知識が全く無いので、これを画像に変換するには
どうして良いかわかりません。
2
>スペースを0に置き換え
スペースはメモ帳で開くと存在しているのですが、エディタで開くと
スペースが無くなります、その場合はこのままで良いのでしょうか?

基礎知識にあたるかもしれませんが、特にプログラムもある種偏った
バッチ処理等しか知らないど素人レベルなのです。

よろしければ、補足を頂けると幸いです。

お礼日時:2007/06/11 22:17

Pixia側で読み込める形式(BMPまたはJPG)にしておいてください。


スキャナで読み込んだ物は、最初は手動で操作してどの程度の調整が最適か調べる必要があります。
制御点は5 の方が良いかも知れませんので色々変更してみてください。
良い状態が見つかったならUWSCで自動で操作を覚えさせれば、そのまま使えと思います。
    • good
    • 0
この回答へのお礼

カラーコードの羅列をBMPに変換する方法が解かりません。
No1さんにご教授頂いた、バイナリエディタから先に進めて
いないのです。、
しばらく情報検索してみて解決出来なければ、別問題として
新たにスレを立てたいと思います。

皆さんのおかげで、大筋は解決です。
ありがとう、ございました。

お礼日時:2007/06/13 19:16

pixiaは軽いソフトで負担になりませんし非常に便利です。


画像処理にはこのようなソフトの使用は結果を見ながら調整できますので非常に有効です。
実際にダウンロードして使ってみてください。
白黒をはっきりさせるには画像メニューから色調補正に入ります。
曲線項目を直線
チャンネルを明度
制御点を3 にします。
3つの小さい四角の制御点を動かして、どの程度の明るさから黒にしたり白にしたりするのが適当か見ながら自由に動かすことができます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
pixiaインストしました。
マニュアルを読むのに少し時間が掛かりそうなので
先に、解からない所だけ質問させてください。

テキストファイルにカラーコードと座標保存されている場合
それを、自動でPixiaにデータを引き渡すと言った処理はUWSC
で行うのでしょうか?
それともPixia側で読み込める形式にしておくのでしょうか?
→現在取得したカラーデータをbmpファイルに変換できて無い
 状態です。

詳しい手順などをご教授頂ければ、幸いです。

お礼日時:2007/06/13 00:24

「色をハッキリさせる」


ということであればPixa等で読み込んでコントラスト等を調整することで解決できるなら、この処理をUWSCで自動化する方法でどうでしょうか?

UWSCで1点づつの処理を行うと相当の時間が掛かると思います。
Pixa内での処理はCPUで直接画像データを処理しますので圧倒的に高速です。
    • good
    • 0
この回答へのお礼

例 「色をハッキリさせる」
if 黒 > peekcolor(x,y) > グレー then "黒として表現します"

と、この様な程度で良いのですが、カラーコードの並びは同色系統で
連番が振られているみたいですが、ただ、その辺も曖昧で良く解かりません。

Pixa自体も殆ど使えないので、この処理だけに使うと言うのも
気が重いのですが。

簡単に出来そうな、情報があればよろしくお願いします。

お礼日時:2007/06/12 11:38

どこにコピーしたいのかわからないので間違っているかもしれませんが、


UWSCにはSAVEIMGがありますのでコピーする部分をファイルにして
コピーさせたいアプリケーションでファイルメニューから開くこともできます。

または、普通にWindows上で範囲をドラッグして指定して編集からコピーして
他のアプリケーションに編集から貼り付ける方法を使うこともできますが
動作記録を自動で作成させてスクリプトを編集すれば簡単にできるのではないでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
始めに書いとけば良かったのですが、今回の目的が下記の様な処理のため
OCR(http://ja.wikipedia.org/wiki/OCR)
の様な物を画像の読み込み分析を行い、Webサイトや写真などの色の
割合を数値化したいと言う理由からなのです、申し訳ありませんでした。

お礼日時:2007/06/11 22:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A