画像処理したらやっぱりそれを保存したいですよね。ということで、今回はJPEG圧縮して保存というのを説明したいと思います。 推奨環境 この解説は、以下の環境を前提に作成し、動作確認等を行っています。ご確認ください。 Mac OS X 10.2.6 Project Builder 2.1, Interface Builder 2.3.2 改版履歴 1 : 2001.05.22 : 新規作成 2 : 2003.08.15 : フォーマット変更
保存すべき画像がNSImageクラスのインスタンスオブジェクトとして保持されているものとします。この画像をファイルとして保存する方法について説明します。 TIFFで保存する場合 NSImageは以下のメソッドを持っているため、TIFF形式のデータを得る事は簡単にできます。 - (NSData *)TIFFRepresentation NSDataのwriteToFile:atomically:メソッドを使えば、データを指定したパスにファイルとして書き込む事ができます。atomicallyをYESにしておくと、まず別の名前でファイルに書き込み、エラーが発生しなかった事を確認して指定されたファイル名に書き換えるという二つのステップを踏みます。こうすると書き込み中に何らかのエラーが起こった時に元のファイルを壊さずに済みます。 - (BOOL)writeToFile:(NSString *)pat
MacOSXプログラミング。毎日更新。 話題: Cocoa, Objective-C, Snow Leopard キャプチャ画像を縮小して保存する機能を追加する。 用途はブログなどの利用を第一に想定しているので厳密な縮小率はいらない。通常あるような数値を入れたり、プリファレンスで設定するUIは面倒なのでもっとお手軽な方法を取る事にする。SimpleViewerがウィンドウをリサイズすることでキャプチャ画像を自由な縮小率で表示できるので、これをそのまま利用しよう。つまり今目でみている縮小率で画像を縮小して(上書き)保存してしまう。 まず SimpleViewerの右下に現在目に見えている縮小率(%)を表示し、保存用のボタンをその横へ追加する。 縮小は、縮小用にテンポラリの NSImage を用意し、そこへ元画像の NSImage から縮小描画する。この時、縮小画像が奇麗に補間されるように以前
このようなブログを続けていると、スクリーンショットを非常によく撮る。というか、ほぼ毎回撮影する。RetinaのMac環境に移行して、先日ようやくブログに載せる画像もRetina環境に対応した。 素早く軽快なRetina対応のイメージにするサービス - ザリガニが見ていた...。 イメージ圧縮してDropboxで公開するサービス - ザリガニが見ていた...。 最高のスクリーンショット環境を求めて - ザリガニが見ていた...。 ところで、以前からスクリーンショットで撮影したウィンドウ画像は、影の領域が無駄に広いと感じていた。でも、影なしにしてしまうと輪郭線もなく、メリハリのない画像になってしまう...。だから、いつも影ありの画像で撮影して、それを使っていた。そんなとき、コメントで耳寄りな情報を頂いた。MiniShadowというアプリケーションを使うと、スクリーンショットの影のサイズを縮小で
I want to add crosses on a NSImage, here's my code: -(NSSize)convertPixelSizeToPointSize:(NSSize)px { CGFloat displayScale = [[NSScreen mainScreen] backingScaleFactor]; NSSize res; res.width = px.width / displayScale; res.height = px.height / displayScale; return res; } -(void)awakeFromNib { CGFloat scale = [[NSScreen mainScreen] backingScaleFactor]; NSLog(@"backingScaleFactor : %f",scale); NSImag
ちょっと期間があきました。 iOS向け Xcode開発Tips入門編 -とりあえず最初にやってること- iOS向け Xcode開発Tips入門編その2 -ちょっと便利なショートカットキー8つ- 【iOS】 Xcode開発Tips入門編その3 -NSLogあれこれ3つほど- 【iOS】 Xcode開発Tips初級編 -ブレークポイント(BreakPoint)あれこれ8つほど- で今回は、 自前プロジェクトテンプレートを作ってみたので、 初級編その2ということでご紹介させていただければ。 Custom Application というのが、Single View Applicationをベースにした自前テンプレート 0-1 その前に。 以下参考にさせていただきました。 http://blog.boreal-kiss.net/2011/03/11/a-minimal-project-templat
2013-03-10 NSNotificationの実践的な使い方 Tips Notificationの使い方に関してはググればいくらでも出てくると思いますが、ここでは実戦向けに少しだけ掘り下げて説明出来ればと思います。 アプリケーション独自のNotification関連を定義するファイル アプリケーションのプレフィックス(大文字2文字)+Notificationという名前のファイルにNotification関連の定義をまとめておくと良いでしょう。 今回はSTNotification.hとSTNotification.mというファイルにまとめることにします。 Notification名の定義 SDKや他のライブラリの名前と重複しないようにNotification名をつける必要があります。アプリケーションのプレフィックス+Notification名+Notificationという命名規則にす
ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.
NSCacheというキャッシュモジュールについて第43回Cocoa関西で発表してきました。 NSCacheの特徴 スレッドセーフ NSDictionaryのように手動でロックする必要がない 格納オブジェクトの上限を決められる 溢れたら自動破棄 iOSのようなメモリ制約の厳しい環境に最適 NSDictionaryに似たインターフェイス Mac OS 10.6 / iOS 4.0以上で使える 具体例としては、ダウンロードした画像をオンメモリにキャッシュする際等にとても有用だと思います。同じような機能を提供してくれるOSSのモジュールは見たことがあるのですが(例えばnimbusに含まれているNIMemoryCache)こちらはOS組み込みなので手軽に使えます。 発表資料 サンプルコード Twitter及びInstagramの画像をロードしてデモするサンプルコードは以下です。それぞれの機能を動かす
年末のお忙しいところ失礼いたします。トーストを床に落とすと必ずマーマレードを塗った方が下になる、iPhoneアプリ開発担当の七尾です。いつも仕事でObjective-Cばかり書いておりますが、そういえばMac用のアプリもObjective-Cで書けるんだっけ?じゃ、おれでも書ける?という、いつも通り頭の中がお花畑な発想で、ただでさえこの忙しい時期に初Cocoaアプリを作ってみたので、お知らせしたく記事を書いております。 punchdrunker/Opener – GitHub 何を作ろうかな? 幸いにも(?) 以前からずっと困っていた事があったので、その問題を解決するツールを作ることにしました。 その問題がどのくらいの人に関係するのかはハッキリ申し上げて、あんまいないだろうなと正直思うのですが(笑)、それはファイルサーバ上のファイルパスの共有です。 自分はMacをメインの作業端末にしている
MacOSXプログラミング。毎日更新。 話題: Cocoa, Objective-C, Snow Leopard 画像を拡大縮小できるようにしてみる。 ソースコード:sp4-12.zip 拡大縮小はよくある四方に□をつけて行うやつではなく、ウィンドウのように右下だけで行うようにする。 <=このアイコンを画像の右下に表示する。この画像は OSについていた resize.gifを拝借している。 リサイズアイコンは画像が選択された時だけ表示して機能するようにする。こんな感じ。 機能実装のポイントは次のとおり。 (1) リサイズアイコンの表示 (2) リサイズアイコンドラッグ時の処理(拡大縮小) (1) リサイズアイコンの表示 以前、導入した ItemIcon クラスを改良して使うことにする。初期化時に画像の4角(左上、右上、左下、右下)のどこへ表示するか指定し、位置決めの為に以前の setOri
0x1dac <foo>: mflr r0 0x1db0 <foo+4>: bcl 20,4*cr7+so,0x1db4 <foo+8> 0x1db4 <foo+8>: mflr r12 0x1db8 <foo+12>: mtlr r0 0x1dbc <foo+16>: addis r9,r12,0 0x1dc0 <foo+20>: addi r9,r9,568 0x1dc4 <foo+24>: lfd f0,0(r9) 0x1dc8 <foo+28>: fmul f1,f1,f0 0x1dcc <foo+32>: blr 0x1dd0 <call_test>: mflr r0 0x1dd4 <call_test+4>: stfd f31,-8(r1) 0x1dd8 <call_test+8>: stw r31,-12(r1) 0x1ddc <call_test+12>:
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く