« SE勉強会レポート (2008/11/16)Google先生、すごいです! »

SE勉強会レポート (2008/11/2)

SE勉強会レポート (2008/11/2)

パーマリンク 2008/11/02 17:12:00 著者: おみう
カテゴリ: SE勉強会レポート

第16回高蔵寺SE勉強会レポートです。

<宿題&コーディング品評会>
お題:写真を解析して何か作ってみよう

今回は、写真でクリックした位置の色を取得するプログラムを作りました。

index.html(画像を表示し、クリックしてもらうページ)

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>画像の色を取得</title>
<script type="text/javascript">
<!--
function clickhandler(event) {
        if (!event) { event = window.event; }
        var hx, hy;
        // クリックした位置の座標を取得
        if (document.all) { // for IE
                hx = event.offsetX;
                hy = event.offsetY;
        } else {
                hx = event.layerX;
                hy = event.layerY;
        }
        window.open('imagecolorat.php?x=' + hx + '&y=' + hy, 'imagecolorat', 'toolbar=no,location=no,directorybuttons=no,width=200,height=180');
}
//-->
</script>
</head>
<body>
<p>クリックしてね!</p>
<div onclick="clickhandler(event)" style="position:fixed"><img src="img/test.png"></div>
</body>
</html>

imagecolorat.php(色情報を表示するスクリプト)

<?php
$x = $_GET['x'];
$y = $_GET['y'];
$im = imagecreatefrompng('img/test.png');
$rgb = imagecolorat($im, $x, $y); // 指定した座標の色を取得
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$hex = sprintf('%02X', $r) . sprintf('%02X', $g) . sprintf('%02X', $b); // 16進数に変換
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>画像の色を取得</title>
</head>
<body>
<p>x座標:<?php echo $x; ?> y座標:<?php echo $y; ?></p>
<div><img src="imagecolor_sample.php?r=<?php echo $r; ?>&g=<?php echo $g; ?>&b=<?php echo $b; ?>"></div>
<p>R:<?php echo $r; ?> G:<?php echo $g; ?> B:<?php echo $b; ?><br>#<?php echo $hex; ?></p>
<!-- html -->
</body>
</html>

imagecolor_sample.php(色見本の画像を作成するスクリプト)

<?php
$r = $_GET['r'];
$g = $_GET['g'];
$b = $_GET['b'];

// 塗りつぶし画像を作成
$im = imagecreatetruecolor(50, 50);
$color = imagecolorallocate($im, $r, $g, $b);
imagefill($im, 0, 0, $color);

header ('Content-type: image/png');
imagepng($im);
imagedestroy($im);

imagecolorat(GDライブラリが必要)を使って、色情報を取得しています。
クリックした位置の座標はJavaScriptで取得し、imagecolorat.phpに渡しています。
解析したい画像は、imgディレクトリにtest.pngという名前で保存してください。
アップロード機能はつけていません。

こんな感じに色情報を取得できます。
RGBの値、HTML等で利用する16進数の色コードを表示します。
ちなみに色見本に関しては、imagecolor_sample.phpで作った画像を表示しています。

画像の色を取得



<発表>
「Web上のいろいろな文章をJess(日本語小論文評価採点システム)にかけてみた」という題目で発表しました。
今回使った文章は、僕のブログ記事(8.3点)伊藤ハムのお詫びの文章(8.8点)、安藤裕子『鐘が鳴って 門を抜けたなら』の歌詞(3.0点)です。点数は10点満点です。
どうでもいい話ですが、安藤裕子さんの歌詞の評価が気に入りません(笑)
日本語解析に関しては、PHPでは形態素解析という手法が使えるようです。
ChaSenというものがあります。


<コードリーディング ~まんじゅうCMSを読んでみよう~>
CakePHP1.2で作られた、まんじゅうCMSのソースコードを読みました。
プラグインで機能を拡張できるようです。
今回MICKさんが発表していた、CakePHPのプラグインの話に関連しているので、試してみる価値は十分あります。


次回は11月16日開催予定です。
http://events.php.gr.jp/にて告知・参加募集します。

この記事へのトラックバック アドレス

トラックバックURL(右クリックでURLのコピーをしてください)

フィードバックはまだありません...

コメントを残す


頂いたメールアドレスはこのサイト上には表示されません

頂いたURLは表示されます。
(改行が自動で <br /> になります)
(Name, email & website)
(ユーザに、メッセージ・フォームを通じた連絡を許可します (あなたのメール・アドレスは表示されません))
2018年9月
 << <   > >>
            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            

Name:おみう

某国立大学文学部の学生。
英語学(生成文法など)を勉強している。

安藤裕子(歌手)と北乃きい(女優)のファンであり、安藤裕子のライブによく行っている。

子どもと遊ぶサークルに所属しているが、サークル内では「ヒゲ」(←子どもにつけられた)と呼ばれている。

サークル以上に、某予備校の模試監督員アルバイトに精を出しており、模試監督ネタがブログで連載になりつつある。

文系学生にしてはパソコンにかなり精通しており、高蔵寺SE勉強会で勉強をしている。


詳しいプロフィールを見る?

メールを送る?

検索

XMLフィード

16ブログ     CMS software