2013年8月20日火曜日

パワーポイントの図形をピクセルでサイズ指定して保存

非デザイナーの強い味方、パワーポイント。
パワーポイントで作った図形をピクセルでサイズ指定して保存するメモです。

1.パワーポイント上で図形描画などで素材を作成・編集する。
2.サイズを設定する。(重要)
パワーポイントはサイズがピクセル指定でないため、解像度(dpi)に合わせて出力したい図形サイズに調整する。
オフィス2007からは作成した画像のdpiは自動的に220dpiになる。
(設定変更も可能。)
1インチは25.4mmのため、1px算出の計算式は以下のようになる。
1px = 25.4mm / dpi
220dpiの場合、1ピクセルは25.4/220=0.11545(ミリ)となる。
算出した1ピクセルあたりのミリに、設定するピクセル数をかける。
10pxの場合は1.15454...ミリになり、センチでは0.11545になる。
これを画像のサイズに設定し、「図として保存」すれば、ほぼ希望どおりのピクセル数で保存される。

【背景色を透過する】
一旦図として保存したものを、再びパワーポイントに張り付け、
「図ツール」→「書式」→「色の変更」→「透明色を指定」で透過する。

【ついでにPCの基本のDPIの調べ方】
Windows 7の場合:
コントロールパネル→ディスプレイ→カスタムDPI設定
96ピクセル/インチと書いてある場所がそう。
Windows XPの場合:
デスクトップで右クリックで画面のプロパティ→設定→詳細設定の全般タブのDPI設定。

2013年8月7日水曜日

vba:止まらない「コードの実行が中断されました」

マクロ実行中、実行中の処理を途中で止めたいとき、Ctrl+Breakは常套手段です。
ですがこの打ちどころが悪いと、次回実行時に「コードの実行が中断されました」というデバッグがプログラムの最中に何度も起動するようになってしまいます。
前回までは普通に実行できていたのに、なぜ?という場所で頻発。
いちいち「継続」って押さないと次に進んでくれない・・・。

このエントリーが詳しいです。
ExcelVBAにおける不可解な「コードの実行が中断されました」
http://d.hatena.ne.jp/rizenback000/20110926

私の環境はWin7, Office2007ですが、やっぱりこれに悩まされました。
こういう状態になってしまったマクロを削除して、自分でちまちま取っていたバックアップをリネームして起動しても、なんと同じことになります。粘着質にもほどがある・・・。

有効そうなのが「Ctrlを押しながら、デバッグリセットのボタンを押下」ですが、私はこれもダメでした。
打つ手なしで途方にくれていましたが、OSを再起動したら、普通に動くようになりました・・・。

2013年7月31日水曜日

actionscript:本日の日付(年月日)の生成

【備忘録】

yyyy/mm/ddの日付を生成するには、Dateオブジェクトを使ってこう書く。

var dateObj:Date = new Date();
trace(String(dateObj.getFullYear() + "/" + Number(dateObj.getMonth() + 1) + "/" + dateObj.getDate()));
→2013/7/31

よくあるパターンで、getMonthは0~11の月を取得するため、1月→0、12月→11になります。
現在の月を求めるには戻り値に+1します。

【参考】ActionScript裏ヘルプ
http://actionscript.sitemix.jp/as3.php?dir=system&file=002

2013年7月16日火曜日

eps画像をベクター形式のままグレースケールに変換

カラーのeps画像をベクター形式を保ったままグレースケールのeps画像に変換するコマンドです。
グレースケール変換はImageMagickでも可能なのですが、ベクター画像がラスター形式になってしまいます。
少し調べてみたんですが、現時点では不可避のようです。

というわけで今回はghostscriptを使いました。
実はepsからepsの変換でグレースケールはうまくいかず、ghostscriptで、ベクターを保ったまま【PDF】にグレースケール変換し、それをもう一度EPSにコンバートすることで、EPS→EPSのモノクロ変換を実現しました。

環境がwindowsなのでコマンドがgswin32です。
Linuxやその他の方は適宜読み換えて下さい。

1. グレースケールのPDFへ変換
gswin32 -sOutputFile=sample.pdf -sDEVICE=pdfwrite -sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -sEPSCrop sample.eps

2. 変換したPDFをEPSに変換
gswin32 -sOutputFile=sample2.eps -sDEVICE=epswrite sample.pdf

ただ、これだと全体的に明度が上がってしまってもともと黒だった線が淡くなってしまいます。
引き続き回避方法を探します・・・もしご存知の方、ご教示頂けると幸いです。


2013年7月9日火曜日

Adobe Flash Builder:起動しない

CCの開始やらなんやらでAdobeのライセンス回りが混乱気味です。

そんな中、Master Collection CS6に含まれていた Flash Builder が、突然起動しなくなりました。
PhotoshopやFlashなんかは全然問題なく起動したのに、Flash Builderだけアウトでした。
今回は平気でしたがAcrobatなんかでそういうことがあるみたいですね。

起動するとスプラッシュスクリーンまでは出るんですけど、その画面のままワークベンチとか初期化とかの進行状況が一切表示されず、そのままふっと消えるように落ちます。
アンインストールからのインストールを行なってもだめでした。
まるで評価版を使っている時のような振る舞い・・・あれっ?
そういえばインストールから30日経ってる。でもまさか、これライセンス版だよ?悶々とする。

しかし結果としては、以下のサイトを参考に、Master CollectionのPhotoshop(起動できるアプリならなんでもいいです)を起動してヘルプからライセンス認証を解除し、再び起動してライセンス認証を行ったところ、再び利用出来るようになりました。

C. ライセンス認証の解除と再認証
http://helpx.adobe.com/jp/acrobat/kb/cq12121856.html

これ一ヶ月ごとにやらないとならない・・・の・・・?

2013年7月5日金曜日

Flash Builder 4が重いので、視覚効果を切った。

自社でもAdobe Creative Cloudを導入しました。
その関連で、Flex 3 ProfessionalのかわりにFlash Builder 4.6 を使うことになったんです。
環境はWindows7, メモリは4G。普通ですね。

それが

・・・重い・・・。

重い。とっても重い。

とにかくソースモードからデザインモードに切り替えるたびにカーソルが激しく震え、完全に切り替わるのに10秒くらい待たされるのです。
軽量化のためにとFlexで使うメモリをいじったり、入力中に問題を報告のチェックを外してみたりしてみたんですが。

【参考サイト】
Flash Builderのメモリ
http://d.hatena.ne.jp/tukaharu/20110322/1300757321

Flash Builderが重いって?「入力中に問題を報告」のチェックを外すんだ。
http://d.hatena.ne.jp/MineAP/20110808/1312801372

やっぱりどうにも重い。半日も使っていると特定の動作でフリーズしてしまうようになる・・・。
そこでもう、ばっさり根本からいくことにしました。

Windows7の視覚設定をすべてオフにしてパフォーマンスを優先します。
これでFlash Builderの動作がかなり早くなります。

コントロールパネルからWindowsのデザインとパフォーマンスの調整
1.「コントロールパネル」を開く
2.「パフォーマンスの情報とツール」(大きいアイコン)→左メニュー
3.「詳細ツール」→「Windowsのデザインとパフォーマンスの調整」
ここで「パフォーマンスを優先」にするとチェックボックスが全部オフになって

Windows7が残念な見た目になるのと引き換えに、Flash Builderがそれなりに・・・というか、前に比べてかなり軽くなります。
「スクリーンフォントの縁を滑らかにする」だけチェックしておけばフォントも綺麗に表示されます。
今日は開発しかしない!って日にいいと思います。
それでも重いんですけどね。


ところで4.7ではデザインモードが無いそうです。

Flash Builder 4.7からは、デザインモードがないそうなんですが。
http://www.adobe.com/jp/products/flash-builder/faq.html

Flash Builder 4.7 デザインモード (教えてZiddyちゃん)
http://ziddy.japan.zdnet.com/qa8034068.html

別の意味で劇的な革命ですね。
あれが無かったらFB4.7を買う理由なんて欠片もないような気がするんですが・・・。
軽量化のためにデザインモードを捨てたんでしょうか。捨てるもの間違ってるような。
それとも代替機能があるんでしょうか。
なんでもいいからFlex3に戻りたい。(´;ω;`)ウッ…

2013年6月14日金曜日

VMware: vSphere ESXi 4.1 ゲストOSが起動できなくなる

 VMWareゲストOSを稼働させていると、突然動作が不安定になって起動出来なくなることがあります。
 以前vSphere ESXi上でゲストOS(RHELinux)を複数稼働させていたのですが、そのうち2つが同じ症状でクラッシュし、調査したところ原因はOSごとに割り当てあてたHDD容量が稼働時間の経過とともに不足してしまうことにありました。

■症状
 LinuxゲストOS使用中に動作が不安定になり、その後起動出来なくなる。
 OSを起動しても、途中でメンテナンスモードが立ち上がってしまう。

■エラー詳細
1. 起動時のエラー
 /dev/VolGroup00/LogVol00 contains a file system with errors. check forced.



 
2. メンテナンスモードが立ち上がる
 *** An error occurred during the file system check
 *** Dropping you to a shell; the system will reboot
 *** when you leave the shell.
 Give root password for maintenance

■原因
 OSを稼働させているうちにデータがHDに蓄積し、OSに割り当てた物理メモリが不足してしまう。
 メンテナンスモードにログインし、
 # df -k
 でハードディスクの容量をチェックして、使用率(Use%)が95%以上まで達していたら確実です。


■対応
 ゲストOSの物理メモリサイズを拡張する
 拡張したメモリをVMWareが動いているパーティションに割り当てる

■手順
1. ゲストOSのシャットダウン
 メンテナンスモードが表示された場合、一旦物理メモリサイズの拡張のため、ゲストOSをシャットダウンします。
 # shutdown -h now
 シャットダウンコマンドがきかない場合はクライアントツールで該当ゲストOSを右クリックし、電源→パワーオフを選択して「はい」をクリックし、強制的にパワーオフします。

2. 物理メモリの増量
 該当ゲストOSを右クリック
 →設定の編集
 →ハードディスク1
 →ディスクプロビジョニングから物理ボリュームを増やしたい分増やします。
【重要】あとで物理メモリ拡張の際に、手動で入力するため、何G増やしたのか覚えておいてください。

3. メンテナンスモードにログイン
 もう一度VMをパワーオンして起動し、ふたたびメンテナンスモードで「Give root password for maintenance」とログインを求められたら、rootのパスワードを入力してログイン。
 # パスワード

4. 現在のディスク容量チェック
 # /sbin/fdisk -l
 # df -k
 でハードディスクの容量をチェックして、使用率(Use%)が95%以上まで達していたら確実です。
 だいたい使用率80%超えから発生するようです。(1台めは80%でクラッシュしましたが、2台めは95%になるまで耐えました)

5. 増量した物理メモリをOSに認識させる
 ここから増やした物理メモリをOSに認識させ、ゲストOSが動いているパーティションに統合するための操作をします。
 以下のサイトの手順にしたがって、デバイスに増やした物理メモリを認識させて下さい。
 
 参考サイト:
 VMware仮想ディスクの拡張
 http://blog.as-is.net/2006/11/vmware.html
 (大変助かりました。ありがとうございました)

 ※上記エントリーのvmware-vdiskmanager.exeの実行は既にクライアントから実行済みなので必要ありません。
 fdiskでパーティションを切るところからはじめます。

【重要】
 ※このまま手順を進めた場合、物理ボリュームを作る部分でエラーとなる場合がありますが、その対応は後述します。
 まずはエラーがでる部分まで進めてください。

【重要】
 hda, sdaなどのデバイス名や、増やす容量は、設定に合わせて適宜読み替えてください。
 資料はデバイスがhda、増設は2Gですが、私の場合のゲストOSのデバイスはsdaで、増設は16Gでした。

【重要】
 OSが通常稼働している時に拡張する場合には割りとすんなりと実行出来ますが、今回のようなディスクエラーを起こしている状態で実行すると、物理メモリを作ってデバイスを拡張するところでエラーが発生します。
 # /usr/sbin/pvcreate /dev/sda3
 →file based locking initialisation failed エラーで止まる。

 容量がなくディスクが壊れた風になってしまっています。
 このエラーが出たら、一旦ここでfsckを実行し、Vol00を修復します。
 # fsck
 ※オプションなしで大丈夫です。自動でVol00を修復してくれます。
 実行途中で色々と聞かれますが、ひたすら「y」を打ち続けます。


 (終了後)# reboot
 
 そうするとOSが通常起動するので、すぐにターミナルを起動し、可及的速やかにpvcreateの続きから物理メモリを認識させてください。
 ※vgextendで/dev/hdc: open failed: メディアが見つかりません と表示されても次行にsuccessfullyとあれば問題ありません(たぶん)
 ※lvextendでInsufficient free space: 188 extents needed, but only 156 available 等のエラーになった場合、物理ボリュームサイズが何らかの要因で確保出来ていないので、減らして再トライしてください。succeccfullyと出るまでです。

6. 現在のディスク容量チェック
 無事に最後まで到達できたら、再びハードディスクの容量チェック。メモリ量が反映され、Use%が無事に下がっていれば完了です。
 # /sbin/fdisk -l
 # df -k


お疲れ様でした。

【参考】
VMware仮想ディスクの拡張
http://blog.as-is.net/2006/11/vmware.html

ディスク追加してリブートしたら、"Locking type 1 initialisation failed." というエラー
http://kenyo.tdiary.net/?date=200711

fsck
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230781/

--------------------------------
だらしない更新ペースのblogですが、本エントリーで100記事目でした。
100記事目は、私のようなハードウェアリテラシーの低い人間が扱うにはハードルが高すぎたVMWareから、思い出の2台クラッシュ事件を。
今思い出しても寒気が・・・。
いつも様々な技術blog様に助けていただいています。
このblogが、少しでも皆様のお役に立つことが出来れば幸いです。