Cocoaはさっぱり!!! Version.3

このエントリーをはてなブックマークに追加
932924:04/07/03 22:01 ID:5KXitfUY
>>925
文字列のアンチエイリアスはNSGraphicsContextで切れますよ。
↓こんな感じでどうでしょう?
- (IBAction)test:(id)sender
{
NSGraphicsContext *gc = [NSGraphicsContext currentContext];
NSString *s = @"test";

[self lockFocus];
[gc setShouldAntialias:NO];
[s drawInRect:NSMakeRect(0,0,200,200)
withAttributes:[NSDictionary dictionaryWithObject:[NSFont fontWithName:@"Helvetica" size:50]
forKey:NSFontAttributeName]];
[self unlockFocus];
}
933925:04/07/03 22:43 ID:+FmT0CBP
>>932
あれ、これでいけましたか?
こちらではうまくいかないのですが・・・。

違いと言えば、こちらではNSImageをallocして、それにlockFocusして、setShouldAntialias
してから文字列を描画していることくらいだと思うのですが、うまくいきません。
もうすこし調べてみます。ありがとう。
934932:04/07/04 00:27 ID:CMWl3gpF
こちらではうまくいっています。
補足ですが
上のメソッドはNSViewを継承したクラスに記述したものです。
したがって,lockFocusはNSViewのものが呼び出されています。一番の違いはここのような気がします。
935名称未設定:04/07/04 01:24 ID:a/NWLP0W
>>933
NSImage を lockFocus した"あとに" カレントグラフィクスコンテクスト を取得しましょう。

NSGraphicsContext の currentContext メソッドは現在フォーカスを持つグラフィクスコンテクストを取得します。
936925:04/07/04 07:53 ID:dE9ocDtU
おお、いけました。勉強になります。
>currentContext メソッドは現在フォーカスを持つグラフィクスコンテクストを取得します
なるほど、そういわれれば納得。

いろいろありがとうございました。>>932,935
937名称未設定:04/07/04 23:28 ID:REV1lBkG
すいません。質問させてくだい。
アウトラインビューで指定したアイテムを選択させたいのですが、
どうもうまくいきません。
テーブルビューでは行の番号で指定して選択できたのですが、
アウトラインだとその方法ではできませんでした。
助言お願いいたします。
938名称未設定:04/07/06 14:41 ID:DL0Az12d
gif2png2.5.1がCarbon/Cocoaで使えたら…と先刻ソースコードを
落としてきたものの、解凍して出来たソレは何をどうしたらいいの
かゼロから勉強せねば訳の分からぬ世界でした。

こちらのスレを参考に、頑張ってコンパイルまでたどり着けるよう
頑張ります。
939名称未設定:04/07/06 14:49 ID:DL0Az12d
頑張って〜たどりつけるよう勉強します orz
まずはオライリーのCocoa本を探しに行かねば。
940名称未設定:04/07/06 15:25 ID:iszmCYsz
>>938

gif -> pngって普通にCocoaで出来るよね。
なんで必要なの?
941名称未設定:04/07/06 15:59 ID:DL0Az12d
>940
恥ずかしながらそういった事さえ分かっておりませんでした(Xcodeで
Cocoaアプリケーションを自分でも作れるらしい、程度の考え方でした)。

現在Photoshop Elementsの「Web書き出し..」.で作成したGIFファイルを
PIXTURE STUDIOにて配付されているgif2png 2.3.2でPNGに変換する方法
をとっている(二度手間ですが、不要なヘッダの取捨選択やガンマ値チャ
ンクを書き込めたりWeb書き出しのPNG保存より小さく保存できるため)の
ですが、この工程をgif2pngそのものをCocoaアプリにする事でAppleScript
なりアクションで制御出来ないだろうかと思ったのです。
942940:04/07/06 16:09 ID:iszmCYsz
>>941
>ですが、この工程をgif2pngそのものをCocoaアプリにする事でAppleScript

gif2pngがシェルのコマンドなら、そのままAppleScriptから
呼び出しできますよ。多分。
http://developer.apple.com/ja/technotes/tn2065.html

画像の合成とか必要なら、
http://www.google.com/search?q=imageMagick&num=100&hl=ja&ie=UTF-8&lr=lang_ja&sa=X&oi=lrtip7
ImageMagickなんてどうでしょう。
AとBの画像を合成して、tif書き出しなんかを行った事あります。
ただ少し遅かったですけど。
あと依存するライブラリがヤヤコシカッタような・・・。

cocoaな話であれば、合成/加工からファイルの生成までの
一連の自動化を行うアプリを作るのなんて面白いかも。
943名称未設定:04/07/09 01:44 ID:RpoFYEqP
Pixadexなどのアイコン管理ソフトやiPhotoのように
ScrollVIew内のViewに画像を多数表示させたいんですが
いいサンプルか書籍はありますか?
自分でも挑戦してみたんですがスクロールさせると描画が乱れてしまいます。
944869:04/07/10 16:12 ID:AmAb0xQt
>>943
固定サイズのサブビューをぺたぺた貼っていくのがはやいかもしんない。
変な例だけどDeveloper/Sample/AppKitについてるテキストエディットのMultiplePagesViewあたりを
参考にするとよいのでは。
945名称未設定:04/07/10 17:05 ID:iQLbyi/F
NSImageCellを使えばええんでないの?
946名称未設定:04/07/12 19:18 ID:zJJ7HG6K
本格的にプログラミングをはじめようと、本のサンプルを参考に
自分なりのメソッドを作って拡張したのですが、
一つの.m、.hファイルに付け足していったので、ソースコードが長くて不便です。
機能ごとにソースファイルを分割したいのですが、まずはじめに
何をすればよいかよくわかりません。
レベル的にもCをちょっとかじった程度です。
自学したいので参考となるURLや書籍、サンプルコードはないでしょうか…
947名称未設定:04/07/12 19:58 ID:nbtTFRhy
>>946
入門書を読んで勉強するしかないけど、.m, .hで分けるということなら
クラス毎にファイルに分ければいい。Objective-Cで書いてるなら。

入門書はいくつも買わないでとりあえず一つだけ買って攻略する。
あとは慣れ。実践で憶えていくしかない。Cocoaならヒレガス本がお薦め。
HappyMacintoshDevelopingTimeがいいという人もいるけど、あれはちょっと
初心者には向いてないと思う。初心者が読む部分の説明が良くない。
948名称未設定:04/07/12 20:08 ID:zVJvNWxg
>>946
>機能ごとにソースファイルを分割したい
カテゴリだな。
荻原本読んどけ。
初めは少々難しいが、あとになって必ず役に立つ。
949名称未設定:04/07/12 20:26 ID:zJJ7HG6K
>>947
>クラス毎にファイルに分ければいい。Objective-Cで書いてるなら。

分割したいクラスの部分を既存のソースファイルから切り取って
xxx.h、xxx.mに保存してビルドすれば良いということですか?
分割したファイルと分割元ファイルをimportなりなんなりで
クラス同士の関連付けする必要はないのでしょうか?

>あとは慣れ。実践で憶えていくしかない。Cocoaならヒレガス本がお薦め。
ヒレガス本探してきますλ....
950名称未設定:04/07/12 20:29 ID:zJJ7HG6K
>>948
カテゴリって言うんですね…
検索キーがわからなくて難儀してました。
調べてみます。

>>947-948
色々ありがとうございます(TдT)
951名称未設定:04/07/13 21:05 ID:/hcMHNhq
http://www.big.or.jp/%7Ecrane/cocoa/

ここ見ながらやってるのですが、
MainMenu.nibって奴をダブルクリックしても
インフォパネルってのがデフォールトで開かな
いんですけど、どうやって開くのでしょうか?
952名称未設定:04/07/13 21:15 ID:8VSQuQXN
メニューバーを探せ。サブメニューじゃないからすぐ見つかる。
953名称未設定:04/07/13 21:38 ID:/hcMHNhq
あ、なんとなく出来た。。

習うより慣れろって感じっすね。<InterfaceBuilder
954名称未設定:04/07/14 01:04 ID:XDlN+1hL
ついでに
Carbon もさっぱり!!!
955名称未設定:04/07/14 03:47 ID:d3pR6qhv
>>954
漏れなんかCarbonはきっぱりってつもりだったんだが(w
肝心な所でCarbonでてくるしよぉ(鬱
956名称未設定:04/07/15 18:17 ID:EIfWDnn6
一つのアプリで2つのウィンドウを生成して、それぞれにImageViewとOpenGLViewを
表示させたいけど起動中に落ちてしまう…
インターフェースビルダーで、windowのインスタンスを2つ作るだけじゃダメなんですかね…
957名称未設定:04/07/16 00:40 ID:TJ4TlZMH
>>956
コンソール -> ログ -> 〜Library/Logs -> CrashReporter
で落ちた原因を確認しる。
958名称未設定:04/07/17 00:09 ID:fqiKlTs5
書いてある通りにやってもできない事が大杉のHMDTの本だが、
初心者の自分も躓いた点を書いとく
p282のパネルにボタンを格子状に配置する際、オプションキーを押しながらドラッグ
となってるが正しくは、オプションキーを押しながらオブジェクト(ボタン)のリサイズハンドルを
ドラッグだった…
 オプションキーを押しながらオブジェクトをドラッグしてもオブジェクトが
コピーされるだけで2時間ぐらい悩まされた(-ωー)
 Interface Builderのヘルプを検索してようやく気づく…
新しいのは良くなってるんかねえ…
959名称未設定:04/07/17 12:56 ID:m0WP/LLl
>>958
追加以外のとこも書き直されてるみたいだよ。
960名称未設定:04/07/17 16:33 ID:KdfKLLGJ
(クリックしている絵)
961名称未設定:04/07/18 08:32 ID:p/suTzR3
いまテキストエディタ書いてるんですけど、
DiskArbitrationRegister failed: 1102
ていうエラーメッセージが必ず出てしまいます。その後問題なく起動します。
AppleのサイトではCarbonのTipsにしか載ってないんですけど、どなたかこのエラーが
何なのか御存知の方いませんか?
NSTextViewをサブクラス化してるくらいで、別に変わったことはしてないですけど。
962名称未設定:04/07/24 03:56 ID:T9KFdhRI
300dpiのimageに下記のように文字を描画すると、
[image lockFocus];
[str drawAtPoint:point withAttributes:dicAttr];
[image unlockFocus];
できたimageの解像度は72dpiになっています。
解像度を落とさずに文字を描画したいんですが、どのように
したら良いのでしょうか。ご存知のかたお教え下さい。
963名称未設定:04/07/24 06:20 ID:Qvrr2z75
dpi というものについて今一度考えた方が良いんじゃないか。
964名称未設定:04/07/24 09:49 ID:K5vclZtB
>>962
>解像度を落とさずに文字を描画

自分も同じ悩み持ちです。
読み込んだイメージの解像度を72dpiに変換すると同時に、
倍率を計算して、drawAtPointする時にNSAffineTransform
で倍率指定ってのが回避策か?と妄想中。

>>963

ぜひ、解像度が絡んだ場合の解決方法を教えてくださいまし。
965869:04/07/24 20:44 ID:3zzuSVAU
>>962 >>964
WindowsのGDI+でもそうですけど、Appleの描画環境は
Device Independent + Resolution Independentです。
つまり、Cocoaレベルから解像度をいじることはできないはずです、多分。
966名称未設定:04/07/25 00:38 ID:VfXPUdId
ん??
967名称未設定:04/07/25 01:33 ID:hIabkCZQ
Carbonで出来るのに?

というかQuartzはPDFベースだから・・・
968869:04/07/26 11:39 ID:qtwfIU8c
ああ間違えたんか俺 ||orz
すんません逝ってきます
969名称未設定:04/07/26 18:48 ID:uF5saXap
【GUIライブラリ】wxWindowsでのひょーん
http://pc5.2ch.net/test/read.cgi/tech/1052186697/
970名称未設定:04/07/28 20:45 ID:fGsKXR4Q
NSTaskでUnixコマンドを実行しようとしてるんですが
実行しようとすると「stderr is not a tty」等と怒られてしまいます。
調べてみると出力先の問題だということは何となくわかったんですが
こういう場合どうしたらいいんでしょうか?
971名称未設定:04/07/29 00:15 ID:ETseezzE
実行しようとしているUnixコマンドは何ですか?
stderrがttyを前提としているコマンドって何だろう?
972名称未設定:04/07/29 15:13 ID:3mTSEHNC
>>971
実行した時にパスワードの入力を求めてくるものなので
出力先が端末(?)でないと駄目、というようなことらしいです。
NSPipeだと無理なんでしょうか?
973名称未設定:04/07/29 15:18 ID:3mTSEHNC
あ、関連がありそうなこのトピックを今読んでます。
NSTaskとNSPipeで対話型コマンドを実行する場合について?
http://cocoa.mamasam.com/COCOADEV/2002/01/1/21162.php
974名称未設定:04/07/29 17:06 ID:4Z3WXILc
>>972
質問の答えになってませんよ。sudoコマンドとかですか?
975名称未設定:04/07/29 17:34 ID:3mTSEHNC
いんや、解凍コマンドです。
パスワードがかかってる場合、実行するとTerminalではそれを入力するように
いわれるんですが、NSTaskとNSPipeでそれを受けたい&答えたいというわけで。
976名称未設定:04/07/29 17:43 ID:ccbu77ap
>972
コマンド名を書けない訳は?


とあるコマンドである場合は別な方法で実行できるとだけ書いておこう。
977名称未設定:04/07/29 19:18 ID:+/x2QT6W
>>976
2chでソフトから個人を特定されたくないってのもあり得るんだから、
あんまり追いつめるのも気の毒。

>>975
有名なコマンドなら直接APIを呼ぶなりソースをゲットするなり
それなりの方法もあるよ。そのぶん面倒臭いけど。
978名称未設定:04/08/06 04:08 ID:h1Bmx+9i
sage
979名称未設定:04/08/06 12:05 ID:dE8JCgrG
Project Builderのエディタが不安定なんですが。
とにかくよく落ちる。
returnしても落ちるし、""と入力するだけで落ちたりする。
どうも文法を解釈するときが怪しいんだけど。。。

環境設定を変えると不安定になるという噂を聞いたけど、
同じような症状になった人はいませんかね?
OSは10.2.8です。
980名称未設定:04/08/06 12:30 ID:uu8Mk5iE
自動インデントを切れ。
981名称未設定
ずばり、Cocoaプログラマさんにとって
ジャガーまでのProjectBuilderとパンサー以降のXcodeでの違いは?