こんばんは。松田です。 最近はGDで画像処理を書いているので、今回はGDに関する小ネタです。 imageantialiasを使用せず、画像の拡大・縮小を利用してアンチエリアス処理を行ってみます。 GDで作成した画像にアンチエイリアス処理をかけて滑らかにする場合、通常はimageantialias()関数を使用します。 ですが、この関数には欠点があります。 GDで線を描画する際にimagesetthickness()で線の太さを変更しても、imageantialias()をかけると1ピクセルの線に書き換えられてしまう、という問題です。 これを回避するためにいろいろな処理を試した結果、数倍に拡大して描画した画像を元の大きさに縮小して表示する、という方法にたどり着きました。 スーパーサンプリング処理という名前が付いているらしいです。 この方法を使用すれば、線の太さを保ったまま線を滑らかにすること
通常 GD を用いて円や直線を描画した場合、全くアンチエイリアス処理がなされないため、縁がギザギザしているように見えてしまいます。(ジャギー) 精度の高い軽量なアンチエイリアス処理(ジャギーを軽減する処理)を求めるなら何らかのアルゴリズムを使った計算を行うべきですが、今回は単純に、あらかじめ大きな画像として描画しておいて、それを表示サイズまで縮小する方法でジャギーを軽減してみます。 2倍 3倍 二倍サイズで描画したものを表示サイズに縮小するだけでかなりジャギーは目立たなくなります。 三倍ならほとんど気になりません。 GD のリサイズではピクセルの補間が行われるため拡大・縮小時には滑らかに処理されます。 今回の方法はその性質を利用したものです。 本来 GD には imageantialias() という専用の関数があるのですが、環境や対象によっては機能しないことが多いので、現時点ではこの手法
Silent Push / Background Fetch 時の fetchCompletionHandler に渡す引数ごとの挙動の違いを調べてみた 2014/09/10追記: 追加調査によって判明した事項を追記しています。 iOS 7から追加されたPush通知によるバックグラウンド処理機能 (Silent Push) および定期的なバックグラウンドフェッチ機能 (Background Fetch) ですが、これらの機能はバックグラウンド処理が完了したタイミングでいずれもfetchCompletionHandlerにUIBackgroundFetchResult型の値を渡すような設計になっています。 ちょっと調べれば、大体どこの解説サイトにも以下のように説明があります。 UIBackgroundFetchResultNewData 新しいコンテンツの取得に成功し、新しいデータが存在した
サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く