FC2ブログ

スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

勝利宣言ッ!!!

2010年08月05日 01:59

忍恭弥軍、「vs Adobe Premiere Elements7.0 ドロップシャドウ色変更マクロ」作戦に於いて、Premiere Elements7.0軍 ドロップシャドウ城を陥落させました!!!!

これを以て勝利宣言とさせていただきます!

あとは残敵(Excelで真色を表示するマクロ)の掃討を残すのみです。

100804-2.jpg

これで思い通りの色でドロップシャドウを使える~!
もちろんアルファを100%に設定したところで、「柔らかさ」のパラメータを「柔らかい方向」へ動かせば色は薄くなりますしね。これも予定通り。
自分で使う分にはもう必要十分は満たしたので、あとは対外的に使える状態にできるかどうかは、少々兵を休ませてからにしたいと思います。

それから、P太郎さんに教えて頂いたいろんな方法を全部使って読み込みマクロも書き直したんですが、驚異的な高速化を実現できました!(初期マクロが5分近くかかってた読み込みが、わずか数秒で完了!)
P太郎さん、ありがとうございました!!

100804.jpg

↑P太郎さんのご助言で高速化された部分の一部(クリックで等倍になります)


一応、処理フローみたいなものですが。

MainシートにOSの入っているドライブ記号とユーザー名を入力することによって、標準インストールで設定ファイルがインストールされる場所のフルパスを作成します。

マクロはここからスタートです

まず、読み込みのマクロ
1.ファイルの有無をチェック
2.ファイルをリードオンリーのテキストモードで開いて、中身が空でないかチェック
3.ファイルの中身を1行として読み込む。
4.読み込んだ内容をタグと値に分解して、Tagシートにフォント設定1つを1列として上から順に文字列として設置していく。
5.すべてのフォント設定をTagシートに設置し終わったら、各フォント設定ごとに「フォント名」「スタイル」「サイズ」をMainシートの所定の位置にコピー
6.シャドウタグを探し、その中からRGBとアルファの各値を取り出してMainシートの所定の位置にコピー。この際、RGBは値を255倍する。
7.ファイルを閉じて終わり

次に書き込みのマクロ
1.ファイルの有無をチェック
2.変更があったかどうかチェック
3.バックアップファイルの作成
4.変更があったフォント設定のみ、RGBアルファをTagシートのそれぞれの位置に戻す。この際、RGBは255で割り、0.01以下なら有効桁小数点以下8桁、0.1~0.01は有効桁小数点以下7桁、0.1以上は有効桁小数点以下6桁、1と0に関しては浮動小数点の絡みでちょっと特殊なことをして無理矢理1と0を再設定している。
5.Tagシートの記入のあるセルを読み込んだ順番と同じになるように1行のテキストにつなげる。この際、改行コードやインデントは入れない。
6.ファイルを上書きテキストモードで開く
7.1行のテキストになったタグと値を上書きで書き込む
8.ファイルを閉じて終わり

…とこんな感じでした。

さあ、これで色々と溜まってた作業に取りかかれるぞ! 優先順位をまずつけなきゃね!!!

「しのぶたかや」、再起動!!
スポンサーサイト

真田丸の攻防

2010年08月04日 01:55

「vs Adobe Premiere Elements7.0 ドロップシャドウ色変更マクロ」この間のコメントでP太郎さんに教えていただいたワークシート型変数を使って、タグの数値を書き換えてファイルに戻して、PE7.0で読み込んでチェックできるところまでようやく来ました!(ちょっとPE7.0の動きがおかしくはなるんですが)

もう敵の本丸も目の前、「おっしゃ、これで勝った!!」と思ったのも束の間。


城門が開いて新手が打って出てきて、散々に蹴散らされ一時退却を余儀なくされました。

とほほ…。


なんだか大阪冬の陣の真田丸の攻防を思い出しましたよ。

こっちは寄せ手の前田利常勢、相手は真田信繁(幸村)率いる豊臣勢と言ったところでしょうか…。


まあ、早い話、ドロップシャドウのRGBを変えただけでは、目的の色にはならないことが判明したんですね。
結局、シャドウタグ内のアルファ(透明度)の値もいじってやらないと、色が変色したまま乗ってしまうんです。

アルファの値も取り込んではいるので、変更するセルとマクロを組んでしまえばすむことなんですが、もうここまで来てしまってるのでちょっと骨が折れますねえ…↓
100803.jpg

仕方ないので今日はここまでにして、明日取り組むことにします。ついでに、すでに書き上げた部分もP太郎さんに教わった変数の使い方で高速化したいし。


それにしても一度身に付いた癖って直らないですね~。

Quick-CでC言語を覚えたので、ついついループの部分は
while(1)
{
  ・・・・・・
  if(・・・・・・・)
  {
    break;
  }
}
のような感じで書いてしまう自分がいました(笑)

VBAも、もうFor~Nextからはそろそろ卒業して、Do~Loopに移行しなきゃダメですね。Select Caseも今日散々悩んだんで使い方はマスターしたし(C言語とはだいぶん違ったけど)、もう大丈夫。

それにしても、VBAで構造化プログラム書くのは結構面倒くさいなあ(笑)


ああ、そうそう! あともう一つ問題が。
設定色を表示している部分ですが、Excelが標準で持ってる色を近似色として勝手に変換表示されてしまうこともわかりました。これはもう「仕様」だからどうしようもないなあ。ということで、細かい色は全く無視されて表示されません。このあたりの数値は色見本のサイトとかフォトレタッチで実際に確認してもらってから値を入れてもらった方がいいですね。

やっぱりUserForm使って、フルメモリ、フルマクロで作るんだった…。

今日中に完成無理ッ!

2010年07月31日 23:38

「vs Adobe Premiere Elements7.0 ドロップシャドウ色変更マクロ」、ようやくエクセルのシートに設定されてるフォントを読み込んで表示するところまできました。あくまでテストプログラムですけど。

100724.jpg

ただし、標準設定のファイルが13MBくらいあるんですけど、その読み込み処理だけで30分以上かかってるので、全く実用に耐えませんね。マクロ組んでる十一号機がクアッドコアだったので、Excelが占有してる1つのコア以外はオールフリーなんで、他のこともサクサクできるんですけど、Excelが占有してるコアはずっと100%近い稼働率でした(笑)

とりあえず、標準設定では121個のテキストスタイルが設定されてるんですが、そのほとんどが白か黒。青なんかは1つずつ位しかなかったかなあ。緑なんかなかったし。

設定テキストを12に減らしたファイルでも5分くらい読み込みにかかるんですよね。

一度「Tag」シートに全部読み込んで、そこから必要な項目を「Main」シートに表示させてるんで、「Tag」シートに読み込む時間が相当かかるみたいですね。これを全部メモリ上の配列を使ってやってしまえばもっと早くなるんでしょうけど。後処理の楽さを考えてシート読み込みにしたんですが、これはメモリ処理に変えた方がいいかも知れませんね~。少なくても実用には耐えないし、一般公開はできない(^^;)

100724_2.jpg

↑ドロップシャドウの色情報をタグから拾って変換しているところ。
Worksheetsプロパティで「Tag」シートにアクセスしてるところが遅くなる最大の原因です(^^;)

あと一番上のシートのRGBを書き直せば表示色を変更するマクロと、書き換えた色情報を元の位置に戻してファイルに書き込むマクロが残ってます。

もう今日無理!!

明日もラジオ体操なので、今日も寝ま~す!

VBAよ、私は帰ってきた!!

2010年07月25日 23:31

ごめん、ガンダムの見過ぎです(笑)(タイトルは0083のガトーの有名な台詞をもじったものです)

いろんな事が一段落ついたし、BlackSheepとビターオレンジの絵師さんにはイラストの追加注文出したし、こちらも決戦に挑もうかと。

そう、前にここにも書いた「Adobe Premiere Elements7.0」のテキスト設定のドロップシャドウ色を好きな色に変えてやれるようにしてやろうというあれです。

プログラム言語を何にしようか最後までJavaScriptとExcel VBAで迷ってたんですが、結局Excel VBAを採ってしまいました…。
JavaScriptで書けば格段に自分のスキルアップに繋がったんでしょうけど、そこまで時間かけられるかわからなかったので、結局書き慣れたExcel VBAに…。消極的ですが安定策を採ることになってしまいました。…ていうか、これなら完成させて、安定稼働させる自信があったから…ともいう(笑)

100725.jpg

今とりあえず、メイン画面になるシートのレイアウトと目的ファイルのフルパスを生成する数式を放り込んだだけの状態で、これからがいよいよVBAとの戦いです。

まずはファイルを読み込んで、1つのテキスト設定でどれくらいの容量を食うのかとかの確認をしてから本格的な変更やRGBの変換のコードを書いていくことになるかなあ。

まずは前段階の確認のためのマクロ組みからですね。

一般公開できるようなものになるかどうかはわかりませんが、せめて自分が使いやすいものにはしておかないとね。

ないものは作る。

同人屋の腕と根性の見せ所です。

Premiere Elements 7.0との戦い(テキストスタイル)

2010年07月13日 19:01

文字(テキスト関係)を除けば、トランジョン&エフェクトはちょいとVS12に落ちるくらいでその他は全般的に使いやすいと判断していたPE7.0ですが、肝心要のテキスト関連で大コケして、「使えねー!!!!」発言を繰り返してましたが、ソフトと戦うことにしました。もう買っちゃった以上、何が何でも最低でもニコ用の動画作成で自分の思い描いてる部分だけでも使えるようにしてやるという意地です。このソフトに関しては、テキストのドロップシャドウの色が変更できないという1点のみを解消すれば、それで僕は満足なんですから(逆にそれすらできないので「使えねー」発言を繰り返してきたんです)。

テキストの設定が保存でき、リストが表示されてるってことは、どこかにその設定ファイルがあるはず…と考え、戦いを挑みました。
100713.jpg
上のスクショがテキストスタイルと呼ばれる部分で、このプリセットの中から一部を変更して右手の「スタイルを保存」で保存して使うということしかできなかったんですね。この変更できる内容の中にドロップシャドウの色がなかったんですよ。これが不満で不満で。

でも、「スタイルを保存」とか右クリックメニューで「スタイルの削除」「スタイルの初期化」とかがあるということは、どこかにその設定内容を書いたファイルがあるはずで。

はい、PC内を一斉に捜索しました。
まず適当に新しい文字スタイルを設定して「スタイルを保存」し、その時刻を記録します。
「検索」でファイル名「*.*」、更新日時「本日」を指定して一斉に捜索開始です。

で、見つかったファイルのひとつが
ドライブ文字:\Documents and Settings\ユーザー名\My Documents\Adobe\Premiere Elements\7.0\Styles\workingset.prsl
というものでした。
これ、拡張子こそ「.prsl」というものですが、中身はxml形式のファイルです。

この中にテキストスタイルの情報が詰め込まれてました!!!!!

100713-2.jpg

↑僕が追加した「DFG華康ゴシック体」のW5、24ptのテキストスタイルを記述されている部分の先頭です。
中身がxmlなら、タグの名称である程度のことは予測がつきます。そしてずんずん下へ下がっていくと…。

100713-3.jpg

shadowと言うタグが、次のテキストスタイルの直前にありました。

<softness type="real">19</softness>が柔らかさ(ソフトで変更可能。上限100)
<on type="boolean">false</on>  シャドウの表示非表示。falseは非表示で、trueが表示。(ソフトで変更可能)
<glow type="real">0</glow>   これ不明
- <colour>            ここから色情報               
<red type="real">0</red>   RGBのが0。
<green type="real">0</green>  RGBのが0。
<blue type="real">0</blue>   RGBのが0。ってことでこのフォントスタイルの標準のシャドウの設定色は黒になってます。
<alpha type="real">0.541176</alpha> これはおそらく透明度で0~1の間での記入となりそうです。この場合、54.1176%と言ったところでしょうか?
</colour> 色情報ここまで
- <offset>  ここから角度や距離の情報(すべてソフトで変更可能)
<angle type="real">295</angle>  おそらく角度ですが、ソフトの設定値155度と変わっています。何かしら変換されているのでしょうが、ソフトで変更可能なので解析してません。
<magnitude type="real">4</magnitude>  元の文字への距離です。これもソフトで変更可能なので変更する意味はないです。
</offset>  ここで角度や距離の情報は終わり。

…とここまで解析できました。初期設定では13MBくらいのファイルなので、必要ないテキストスタイルはガンガン削除していってから変更するのが、多分楽なはずです(笑)

あと、気になったのが、RGBの情報。これも0~1で設定されるようで本来0~255で設定されるものを変換してやる必要がありそうです。RGBをすべて0.5にしてやると本来ならALL127設定の色になるんじゃないかなという推測です。

まだ色に関しては「見つけた!」と言うだけで解析できてないので、解析でき次第また続報を追加していきたいと思います。

ちなみに上の2枚のスクショは拡張子を「.xml」に変更してIEで表示させたものなので、実際のファイルを「メモ帳」で開くとこんなインデントとかはなく、ビッチリとタグが最初から最後まで繋がった、一見訳わからんファイルになってます。




そして続報。
RGBの設定はやはり0~1でした。
0が0、1が255に相当します。
ただ、ソフトで設定した数字をそのまま255で割っても、このファイルの中の数値にはならないものもあって、
「設定した数値/255」の数値が記入されているものと、「(設定した数値+1)/255」の数値が記入されているものとがありました。ちなみに、1、2、3、32、64、128で試してみましたが、1~3は「設定した数値/255」の数値が記入されていました(ただし3はソフトで開き直したときに4になってましたが)。32、64、128はそれぞれ「(設定した数値+1)/255」で記入されていました。
まあ、RGBの数値が1位違ってもそんな大差ないんで、誤差の範囲内と甘受すべきかなと思います。

あと、記入されている数値は、浮動小数点での小数点以下有効桁5桁か6桁分のようです(浮動小数点の細かいことちょっと忘れた(^^;)。数字が細かくなって0.00123…とかになってくると、小数点以下が8桁記入になってたりしますが、255で割る数字が大きくなって結果が0.9525…とかになると、小数点以下が6桁で記入されるようです。なお、最終桁は一つ下の桁を四捨五入した値になってます。

100713-4.jpg

↑実際のファイルをメモ帳で開くとこうなってますので、メモ帳やテキストエディタで変更するのはかなり骨が折れる作業になるかと思います。
かといって、xmlに拡張子を替えてxmlエディタを使うと、タグ間にインデントが挿入されてPE7.0の動作がおかしくなるようなので、何か方法を考えないとダメですね。

とりあえず、テキストスタイルを整理して、そのあとでExcelのVBAででも変更ソフト組めないかどうか考えてみます。

で、実際shadowタグのRGBを変更したところ、変更した数値の色でちゃんと表示されました(xmlエディタで編集してインデントが入っちゃったので、PE7.0の動作はかなり怪しかったですが)。
なので、縁取りのあるプリセットフォントを最低でも1つ残していれば、そこから手作業になりますが好きな色のドロップシャドウを持つテキストスタイルは作れそうです。

これがなんとかなれば、PE7.0を買った意味と価値は大きく向上します(僕の中で)。

さすがにPhotoshopで全部歌詞を打ち込んで何十個もファイル作るのは自由度は高いですけどしんどいですからね。特にフォントやフォントエフェクトに変更があったときなんかは軽く死ねますんで(笑)


最近の記事


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。