紙に描いてそれを携帯で撮って、Photoshopに取り込んで、2階調化して、上から色つけました。ちなみに色をつけるレイヤーのモードを「焼き込み(リニア)」にしております。そうすると下書きの線が消えないので。
このへたれな描き方をどうにかしたい><
プロの描き方を一度目の前で見てみたいです。
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
作成環境
OS:WindowsXP
Tool:Photoshop7.0
PhoshoptopCS3(フォトショップCS3)は
twitter用のアイコンも作成できるデザインソフトです。
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
Illustratorは、1つのパスから線と背景を設定できるのですが、最初にイラレを使い始めたときは、絶対に両方設定しないといけないと思っていたけど、それじゃーうまく描けないってことに気づきましたw
背景は背景、線は線で独立させたほうがうまくいく場合もありますね。
あと、縮小・拡大するときは、パスのアウトラインをしておくと、パスの太さも等倍になってくれることにも、ようやく最近気づきましたwただし、パスのアウトラインをするとちょっぴり線が太る傾向にあるようです。
ブラシツールとか使いこなせるようになったら、もっといろいろなことが簡単にできるんだろうなぁ。
もっと勉強しなくちゃ><
そういえば、雑貨屋ですごく気になっていたイラストレーターさんの名前がわかりました!
Igloo*dining*(イグルーダイニング)(本名はキヌガワノリコさん)というらしい。
イグルーダイニング
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
作成環境
OS:WindowsXP
Tool:Illustrator9.02
IllustratorCS3(イラストレーターCS3)は、
女の子のイラストも描けるデザインソフトです。
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
これは、外部リンク(リンク先が自分のサイト以外)ですよ~ということを視覚的に表すためのものです。
最近は、いろいろなサイトでこのアイコンを見かけます。本当に様々なアイコンがあるので、考える方も大変だなぁと思ってみたりw
私のメインサイトのほうで、こちらのアイコンおよびpsdファイルを配布しています。また設置方法なども説明しております。
CoolWebWindow
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
作成環境
OS:WindowsXP
Tool:Photoshop6.0
PhoshoptopCS3(フォトショップCS3)は
ミニアイコンも作成できるデザインソフトです。
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
立て続け、PHPネタです。
作成したPHPプログラムを上司に見せたら、あまりのだめっぷりにダメだしされまくって、かなり凹み気味です。
まあ、必須の例外(エラー)処理を入れてなかったので、怒られて当然なんですけどね。(下手したら無限ループが発生するという恐ろしいことになってましたw)
で、初めて知ったのですが、PHP4ってtry~catchってないですよね?普通に使おうとして、なんでエラーが出るんだ?と思ったら、使えるのはPHP5からのようで・・・。
というわけで、今日もPHP備忘録です。
#呼び出すファイルがあるかの確認
if (file_exists($configFileName)){
#正常処理
}else{
#異常処理(ファイルが無いときの処理)
}
ファイルの存在有無はfile_exists関数で分かります。
#行末の改行コードを削除する
$lines = fgets($file,100); //ファイルを1行読み込む
$lines =preg_replace("/\n/","",$lines); //改行コードを空文字で置換
例えば、ファイルを読み込んで、1行ずつループして処理するような場合、行末の改行コードがじゃまになるときがあります。空文字等で置換すればよいのですが、改行コードは正規表現を使う必要があります。正規表現って便利なんだけど、結構ややこしくて苦手です><正規表現を置換する場合は、str_replaceではなくてpreg_replaceあるいはereg_replaceを使います。
私の場合、カンマ区切りになった値を配列に入れていたのですが、値が無い場合はnullになるはずなのに最後の値だけnullにならなくて、どうしてかな~と出力されたコードを見て気づいたのですが、改行コードが入っていたためにnull判定が出来なくなってました。
正規表現で今回覚えたのは、文字列はスラッシュ(/)で囲むってことです。\nは別にスラッシュ(/)で囲まなくてもいけるかと思ったら、だめでした><
今更ながらの話題ではありますが、はてぶのほってんとり~になってた記事でFizz-Buzz問題というのがありました。
Fizz-Buzz問題というのは以下の問題です。
1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。
これを2分でやれ!っていう問題です。
なので、最近始めたPHPでコード書いてみました。
===============================
<?php
for($i = 1; $i <= 100; $i++){
if(($i % 3 == 0) && ($i % 5 == 0)){
print "FizzBuzz \n";
}
else if($i % 3 == 0){
print "Fizz \n";
}
else if($i % 5 == 0){
print "Buzz \n";
}
else{
print $i."\n";
}
}
?>
===============================
このコードの長さ、2分では到底書ききれない長さ・・・。(所要時間だいたい10分程度)
やはり他にも方法があるはず!と思って、ハテナコメント読んでたら、中にすばらしい回答が!
ちょっと自分仕様に変えたところもありますが、こんな感じ。(個人的にはwhile文よりfor文が好きです。while文は下手したら無限ループに陥るので・・・。)
for($i=1;$i<=100;$i++)echo($i%15 ? ($i%3 ? ($i%5 ? $i :' Buzz') : 'Fizz') :' FizzBuzz')."\n";
あるいは
for($i=1;$i<=100;$i++)echo($i%15 ? "FizzBuzz" : ($i%3 ? "Fizz" : ($i%5 ? "Buzz" : $i)));
短いコードで書くポイントは2つ在ると思います。
まずひとつは、3と5の最小公倍数は15であるということ。
もうひとつは、if文ではなく条件演算子を使うということ。
但し、条件演算子は条件が複雑になるほど、コードの可読性が下がる欠点がありますね。今回のように4つくらいの条件が限界なのではないでしょうか。正直、比較演算子の入れ子は見にくい・・・。
条件演算子についてぐぐっていたら面白い記事を見つけたので、ブクマります。
MarkupDancing » 条件演算子
今まで、既存のPHPプログラムを実行程度で使ったことはあったのですが、今回初めて自分でコーディングしてみました。というのも、お客様の要望で、とあるプログラムを作らないといけなくなったので。以前はそれをJavaScript+手動というカタチで実現してたのですが、JavaScriptはクライアントサイドのものだし、コードも露出されてしまうということで、PHPが使える環境にあるのだからPHPでプログラム組め!と命令が下ったわけです。
詳細はお仕事の内容なので言えませんが、要は定義ファイル(CSV形式)を読み込んで出力するという至ってシンプルなものです。
以下、備忘録です。使った関数など。
#ファイルを開く
fopen($variable, "r");
第二引数の"r"は読み込み専用です。
r・・・読み込みのみ
r+・・・読み書き両用
w・・・書き込みのみ
w+・・・読み書き両用(ファイルがない場合は新規作成)
#ファイルを閉じる
fclose( $variable );
ファイルを開いたら閉じなくてはなりません。
#ファイルの最後まで読み込む
while( !feof( $variable )){
・・・・
}
ファイルの最後はEOF(End Of File)でわかります。
よって、もしファイルの最後まで読み込んだら・・・という場合は以下のとおり。
#ファイルポインタがEOFまで移動したら処理実行
if( feof( $variable )){
・・・・
}
#ファイルポインタを先頭に戻す
rewind( $variable );
例えば、ファイル内を2回読み込みたいときは、一度最後まで読み込んだら、rewind関数を使用して、ファイルポインタをファイルの先頭に戻す必要があります。
#ファイルを一行ずつ読み込み
fgets( $variable,100 );
ちなみにfgetss関数というのもあって、これは、HTMLタグを排除した形で値を取得できるというもの。PHPには便利だけど、変な関数が用意されているんですね~。
あと、第二引数の100というのは、対象文字列の1行あたりのバイト数です。もし、指定したバイト以上に値があった場合、超えてしまった分は表示されないので注意です。少なすぎても表示されないし、多すぎてもよけいなメモリをくってしまうし、難しいところですね。
#行をカンマ(,)で区切る
explode( ",", $variable );
explodeは任意の文字で文字列を区切って配列に入れてくれます。今回はCSV形式のファイルだったので、カンマで区切りました。
#文字列置換
str_replace ( "/", "", $variable );
この場合、スラッシュ( / )を取り除く処理をしています。
置換する関数にはstrtr関数というのもあるようですが、これだとなぜか「置換する値が無し」ということができませんでした。なぜだかわかりません。
#部分的に文字列を抜き出す
substr( $variable , 0, 10 );
JAVAとかでいうsubstringですね。
#現在の時間を取得
date( 'YmdHis' );
日時を取得する関数はPHPではいくつか用意されているようですが、私はdate関数がシンプルかつフォーマットのカスタマイズが容易なのでいいなぁと思っています。
関数的にはこれくらいでしょうか。
クラスも使っていないような簡単なものでしたのでw
他のプログラム言語もちらほらやりましたが、PHPはあまり型を意識しないでよいのと変数に$をつけなければならないというのが逆に戸惑いました。「あれ?処理されない・・・。」と思ったら大抵$が抜けていましたw
今回簡単なプログラムを組んでみて、結構面白かったので、いろいろ積極的に組んでみようと思いました。
やはり、うまく実行できたときは快感ですw