[日記/2007/July]

Realforce 108,出撃 / 2007-07-12 (木)

 最近,肩の筋肉痛が治りません.それほどヘビーな運動をしたつもりはなかったのですが一週間たっても治らないのには困ったものです.職場でPCのキーボードを叩きまくっているとちょっとしんどいのですが,どうもいつものキーボードだと無意識に力を入れてキーを叩いているようでこれが治らない一因のような気がしてタッチの軽いリアルフォースを導入しました.

写真:職場の机上 私が買ったのはRealforce 108UB(PJ0800)というモデルでヨドバシカメラで20800円もしました.正直テンキーはいらなかったのですが現行機種では黒のテンキー無しモデルにはかな表記がない機種しかないので(カナ打ちはしないのですが動作検証でたまに使うので)これになった次第.

このキーボードのタッチはすでに店頭で何度も試し打ちをしていたのである程度わかっていたのですが実際に使い始めたときは軽すぎるタッチに若干とまどいました.しかし程なく慣れました.絹ごし豆腐に包丁を入れるよりも軽くストンストンと落ちる感覚に病みつきになっています.

 筋肉痛の方はまだ治っていませんが仕事に支障が出るようなことはとりあえず無くなりました(ただ不意にあくびをするとガツンと痛みます).正直,2万円は大きな出費でしたのですがそれに見合った効果はあったと思っています.

[ ツッコミの受付は終了しています ]
トラックバック (1)

[日記/2007/July]

にわかにお気に入りの絵 / 2007-07-10 (火)

 地元八王子の『東急スクエア』の広告に出ていたお姉ちゃん達がかなりお気に入りだったので取り上げます.写真:チラシの表紙アニメ絵っぽいけどアートとしてカッチョイイセンスしているなぁと思ったらやっぱりすでにいろいろ活躍されている方でした(上田バロン・オフィシャルサイト

 バスの吊り広告やお店のポスターももらいたかった位のお気に入りなのですが日曜でバーゲンが終わってしまっていたので駄目元で頼んでみるにも手遅れで残念.ちなみにオフィシャルによるとお姉ちゃん達にはレイとヤズミン,クマさんにはティアラという名前がついているのですね.

[ ツッコミの受付は終了しています ]
トラックバック (1)

[delphi/2007/July]

SetWorldTransformがWindows 2000でうまく動かない? / 2007-07-06 (金)

 毎度俺様メモなのですが…(近いうちにトップのページに現れないように直します).

症状

 ビットマップを含むメタファイルをSetWorldTransformで180度回転したデバイスコンテキストに描画するとビットマップだけ描画されない

var
  xf: TXForm; // XForm
begin
    xf.eM11 := -1; //  Cos(180°)
    xf.eM12 :=  0; //  Sin(180°)
    xf.eM21 := -0; // -Sin(180°)
    xf.eM22 := -1; //  Cos(180°)
    xf.eDx  := Printer.Width;
    xf.eDy  := 2 * Printer.Height;
    SetWorldTransform(Printer.Canvas.Handle, xf);
    Printer.Canvas.Draw(MyMetafile);
    //※以下略

環境

 Borland Delphi 5

不具合の発生条件

 少なくとも,Windows 2000で180°回転を意図してem12, em21に180°の正弦値として0を指定したとき.

処方

 180°の時には定数0を指定せずに sin(pi) などを使う.

メモ

 いくつかの角度で試しただけですがその中で不具合が発生したのは180°のときでかつ定数(この場合は0)を指定した場合のみでした.Sin関数を使った場合は正常に動作しました.驚いたことに統合環境で関数の戻り値を見ると0ではなくて-5.4210108624e-20となっていました.

 Delphiでは浮動小数の0を表現するのに 0 を使ってはいけないのかと思って int(0.1) (小数点以下を切り捨てて浮動小数形式で返す)も試してみましたが戻り値を見てみるとやはり0で不具合が起きましたので0を渡してはいけないようです.

[ ツッコミの受付は終了しています ]
1: Dai@マイドのサボり中 (07/07 00:40)
デルファイの開発経験は無いのですが...ほへ〜、そんな事もあるんスね〜。
自分は古巣にて「県厚生部の仕事」をしていた時、メタファイル
を使用して よくグラフ描いてますたね〜。(・ω・)<懐かすぃ

"地域がん登録"なる事業(?)が有りまして、一品料理モノなグラフをよく作りました。
あとは、保健所関連の仕事で やはり一品モノなグラフってのは有りましたね〜(遠目:懐かすぃ)

【本題】
上記SetWorldTransformなるAPIはコールしたことが有りませぬ(ぉ
2: あほたり(管理人) (07/07 10:15)
このAPIはWindows 95,98,MEにはないので
3: あほたり(管理人) (07/07 10:24)
 このAPIはWindows NT系にしかない,つまりWindows 95,98,MEにはないので使う人がほとんどいないのでしょうね.
 ちなみに昨日調べたところでは180度回転ならNT系限定でない他のAPIでもよかったっぽいです orz
4: Dai@職場 (07/08 17:35)
>使う人がほとんどいないのでしょうね
説明不足でした。「メタファイル」を回転させたコトが無いのです (^-^*)
(業務でその時に)必要のないAPIって 呼び出すことは ほとんど無いですしネ。
知らないコトはイッパイあるって事を言いたかったわけでして。

自分は、まぁ PCソフトウェア開発の"ほんと底辺に位置するところ"で働いていたかと思うので、大した知識無いっす。古巣だと、どうしても「開発効率」を重視するキライがありましたし。低級言語での開発はさせてもらえませんでした。
5: Dai@職場 (07/08 17:36)
次第に、高級言語・簡易言語(ジェネレーター込み)、ツール等を使用するのが当たり前になっちゃいましたね。朱に交われば赤くなるってヤツで。物造りに携わる人間としての抵抗感から、低級言語を使って他人が出来ない事も取り組んでましたが「所詮、(グラフ等の)部品止まり」。

・・・ そして、今現在は「ただの人」ですw (・ω・)
まぁ、過去の経歴・知識を生かして いい位置に座るコトを目論んでますがw
現在の転属話も、その一環っす(苦笑)。長文失礼しますた〜。m(_ _m)
トラックバック (1)