JPEG画像をAAに変換するPHPプログラムhttp://phpsnips.com/snippet.php?id=29を発見し試しているんですけど、画像を変換するととてつもなくAAが大きくなってしまいます。どこをどうすれば小さく出来るでしょうか? $width = (imagesx($img))*0.5;

$height = (imagesy($img))*0.5; といじりましたがうまくいきません。

回答の条件
  • 1人5回まで
  • 登録:2008/12/11 10:46:53
  • 終了:2008/12/16 08:06:57

回答(2件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402008/12/11 13:58:20

ポイント35pt

アスキーアートというか各 pixel を文字に置き換えているだけですね。

ばかでかくなるのも当然。

for($h=0;$h<$height;$h++){
  for($w=0;$w<=$width;$w++){ 

手っ取り早い方法としては上記の部分を、

$inc = 2;
for($h=0;$h<$height;$h+=$inc){
  for($w=0;$w<=$width;$w+=$inc){ 

とかすれば縮小されると思う。ただしだいぶ荒くはなると思うけど。


もうちょっと正確にやろうとすれば ImageMagic とかつかって画像ファイル自体を変換書けてから処理するように変更しないと。

PHP: 画像処理および作成 - Manual

こっちは長くなりそうなんで省略。

id:takanii

やってみると縦長に縮小されたAAになってしまいます。何ででしょ

2008/12/11 14:30:25
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402008/12/11 14:42:45

ポイント35pt

やってみると縦長に縮小されたAAになってしまいます。何ででしょ

使っている文字列が「#」だからかな。

$inc = 2;
for($h=0;$h<$height;$h+=$inc*2){
  for($w=0;$w<=$width;$w+=$inc){

こんな感じで。

id:takanii

おお、いけました。

しかしこれ白い部分が白い#になっていますね。

WEB上で画像→AAに変換するサービスでも作ろうかと考えてたけどこりゃ無理ですね。

2008/12/11 15:05:11
  • id:takanii
    紹介記事はココ
    http://phpspot.org/blog/archives/2008/12/phpjpeg.html
  • id:takanii
    今AAコピーでもしようとドラッグしてびっくりした。
    前面# WWW
    白色は文字を割り当てないとか出来ないのかな
  • id:takanii
    で、まぁ出来たわけだが。。
    http://jiyuwiki.com/aa.PHP

    何に使えるんだろう

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません