□投稿者/ senkun -(2002/01/17(Thu) 11:54:41)
□U R L/ |
Ver4.01として、UPします。 まだまだ、無視だらけですが良かったら、見てやってください! (特に、例外処理してないので、やさしくつかってくださいね!) <内容> デジカメの画像を基本に、スライドを作成する。
<改良点> キャンバスでなく、イメージオブジェクトを利用するよう変更! そこで、以下のような機能追加しました。
@縦表示 Aセピア表示 B自動実行処理 (Esape で終了させれば、次回からは解除されます) Cループ処理 (Esape で終了させれば、次回からは解除されます)
骨組みはだいたいできてきたので、後は、虫退治と画像加工具合 (縦のときの位置がおかしいかな?)等をしようと思います。 他にアイデアがあれば、お待ちしております!
'// ------------------------------------------------------- // '// これ以下は、「スライドショー実行」処理を行う // '// ------------------------------------------------------- //
'// 初期設定処理 母艦の、可視は、オフ。 スライドショーの間隔=2 スライドテキストは、「スライド設定.csv」。
文字色は、灰色
*初期画面処理 オブジェクト全破壊。 黒色で、画面クリア。 母艦の、幅は、360 母艦の、高さは、240 母艦を、中央へ移動。 母艦の、リサイズは、オフ。 その、タイトルは、「簡易スライド」です。 センタリング。
(0,30)へ、移動する。 「簡易スライドアプリケーション」と、表示。
(0,70)へ、移動する。 作成ボタンを、ボタンとして、作成。 その、クリックした時を、作成ボタンをクリックした時の反応に、設定。 表示ボタンを、ボタンとして、作成。 その、クリックした時を、表示ボタンをクリックした時の反応に、設定。 終了ボタンを、ボタンとして、作成。 その、クリックした時を、終了ボタンをクリックした時の反応に、設定。
'センタリング解除。 (0,180)へ、移動。 チェック10を、チェックとして、作成。 その、テキストは、自動実行 その、背景色は、黒色 その、フォント色は、灰色 その、幅は、100 その、高さは、18
チェック11を、チェックとして、作成。 その、テキストは、ループ再生 その、背景色は、黒色 その、フォント色は、灰色 その、幅は、100 その、高さは、18
*初期ファイルの読込 『スライド.ini』の、INIファイル開く。 『ENV』の、Autoを、INIファイル読む。 チェック10の、値は、それ。 自動実行フラグ=それ 『ENV』の、Roopを、INIファイル読む。 チェック11の、値は、それ。 ループフラグ=それ INIファイル閉じる。
もし、(自動実行フラグ=1)ならば、スライドショー開始へ、飛ぶ。
母艦の、可視は、オン。 作成ボタンに、注目。 待機。
*初期ファイル設定 『スライド.ini』の、INIファイル開く。 それ=チェック10 『ENV』の、Autoへ、INIファイル書く。 それ=チェック11 『ENV』の、Roopへ、INIファイル書く。 INIファイル閉じる。 戻る。
*初期画面反応設定 *作成ボタンをクリックした時の反応 初期ファイル設定を、呼ぶ。 設定画面処理へ、飛ぶ。 *表示ボタンをクリックした時の反応 初期ファイル設定を、呼ぶ。 スライドショー開始へ、飛ぶ。 待機。 *終了ボタンをクリックした時の反応 初期ファイル設定を、呼ぶ。 おわり。
*スライドショー開始 母艦の、可視は、オフ。
母艦のパス& スライドテキストが、存在するか。 もし、(それ<>0)ならば、母艦のパス& スライドテキストを、読む。 読込データは、それ。
読込データの、行数。 スライド数は、それ。
オブジェクト全破壊。 画面クリア。 (0,0)へ、移動。 母艦全画面化。
*スライドショー画面反応 母艦の、ダブルクリックした時を、母艦をダブルクリックした時の反応に、設定する。 母艦の、キー押した時を、母艦をキー押した時の反応に、設定する。 画像表示処理="" 母艦の、可視は、オン
表示用イメージを、イメージとして、作成。 その、可視は、オン。 'その、拡大機能は、オン。 その、サイズは、(0,0,デスクトップの幅,デスクトップの高さ)
'2で、画面フェードアウト。 (0,0)へ、移動。 イメージ100を、イメージとして、作成。'-- 背景用 '// スライド用イメージの構築 正=0 スライド数回( もし、(読込データ#4#正=1){セピア化}ならば、( 画像表示処理=「(0,0)へ、移動。 イメージ{正}を、イメージとして、作成。 その、可視は、オフ。 その、画像は、\『{読込データ#0#正}\』。 イメージ{正}を、茶色で、画像セピア。 」 )違えば、( 画像表示処理=「(0,0)へ、移動。 イメージ{正}を、イメージとして、作成。 その、可視は、オフ。 その、画像は、\『{読込データ#0#正}\』。 」 ) 画像表示処理を、ひまわりする。 正=正+1 )
'// スライドが1枚のときの例外処理 もし、(スライド数=1)ならば、( 本表示=「イメージ0を、表示用イメージの、(0,0,デスクトップの幅,デスクトップの高さ)に、イメージコピー。」 本表示を、ひまわりする。 待機。 )
*スライド実行 正=0 スライド数回( ' デフォルト=0 '-- 右回転 もし、(読込データ#2#正=1)ならば、( 「イメージ{正}を、右回転。」を、ひまわりする。 縦画面用の横幅=デスクトップの幅×3÷4 縦画面用のX位置=(デスクトップの幅-縦画面用の横幅)÷2 本表示=「イメージ100を、表示用イメージの、(0,0,デスクトップの幅,デスクトップの高さ)に、イメージコピー。」 本表示を、ひまわりする。 本表示=「イメージ{正}を、表示用イメージの、(縦画面用のX位置,0,デスクトップの高さ,縦画面用の横幅)に、イメージコピー。」 本表示を、ひまわりする。描画処理反映。 デフォルト=1 ) 違えば( 本表示=「イメージ{正}を、表示用イメージの、(0,0,デスクトップの幅,デスクトップの高さ)に、イメージコピー。」 本表示を、ひまわりする。 ) スライドショーの間隔=読込データ#1#正 待機処理=「{スライドショーの間隔}秒、待つ。」 待機処理を、ひまわりする。 正=正+1 ) 'もし、(ループフラグ=1)ならば、スライドショー開始へ、飛ぶ。 もし、(ループフラグ=1)ならば、スライド実行へ、飛ぶ。 待機。 *母艦をキー押した時の反応 もし、(押されたキー=27{Esc})ならば、 ( 『スライド.ini』の、INIファイル開く。 それ=0 『ENV』の、Autoへ、INIファイル書く。 それ=0 『ENV』の、Roopへ、INIファイル書く。 INIファイル閉じる。 おわり。 ) '-- 自動実行モードの解除をしてからおわりにするつもり *母艦をダブルクリックした時の反応 おわり。
'// ------------------------------------------------------- // '// これ以下は、「スライドショー設定」処理を行う // '// ※イベント処理方法がこれまでと異なるが、大きな意味なし! // '// ------------------------------------------------------- //
*設定画面処理
母艦の、可視は、オフ。 オブジェクト全破壊。 センタリング解除。 母艦の、幅を、700に、設定。 母艦の、高さを、320に、設定。 母艦の、タイトルを、「スライドショー −設定−」に、設定。 母艦の、リサイズを、オフに、設定
黒色で、画面クリア 現在行="" (10,10)へ、移動。 ファイルリストラベルを、ラベルとして、作成。 ファイルリストラベルは、「【 スライドショーリスト 】」。
ファイルリストを、リストとして、作成。 その、幅を、400に、設定。 その、高さを、265に、設定。 その、クリックした時を、一覧クリック時に、設定 その、ダブルクリックした時を、一覧ダブルクリック時に、設定
(420,35)へ、移動。 スライド間隔を、ラベルとして、作成。 その、テキストは、「スライド間隔:」 (540,35)へ、移動。 秒表示ラベルを、ラベルとして、作成。 その、幅を、22に、設定。 その、テキストは、2{規定値} 間隔バーを、バーとして、作成。 その、Xは、445 その、Yは、61 その、向きを、「横」に、設定。 その、幅を、80に、設定。 その、高さを、22に、設定。 その、最小値を、1に、設定。 その、最大値を、10に、設定。 その、イベントを、秒表示に、設定。
(420,100)へ、移動。 チェック0を、チェックとして、作成。 その、テキストは、縦写真 その、背景色は、黒色 その、フォント色は、灰色 その、幅は、100 その、高さは、18 チェック1を、チェックとして、作成。 その、テキストは、XXXXXXXXX その、背景色は、黒色 その、フォント色は、灰色 その、幅は、100 その、高さは、18 チェック2を、チェックとして、作成。 その、テキストは、セピア化 その、背景色は、黒色 その、フォント色は、灰色 その、幅は、100 その、高さは、18
(592,10)へ、移動。 処理ラベルを、ラベルとして、作成。 処理ラベルは、「【 処 理 】」。 (600,35)へ、移動。 参照ボタンを、ボタンとして、作成。 その、イベントを、参照押下時に、設定。 行削除ボタンを、ボタンとして、作成。 その、イベントを、行削除押下時に、設定。 クリアボタンを、ボタンとして、作成。 その、イベントを、クリア押下時に、設定。 (600,270)へ、移動。 終了ボタンを、ボタンとして、作成。 その、イベントを、終了押下時に、設定。
*一覧読込動作 母艦のパス& スライドテキストが、存在するか。 もし、(それ<>0)ならば、( 母艦のパス& スライドテキストを、読む。 読込データは、それ。 読込データの、1列目を,表列削除。 それの、1列目を,表列削除。 それの、1列目を,表列削除。 それの、1列目を,表列削除。 リスト表示用データは、前後の空白削除(それ) 'チェック表示用データは、それ。 ファイルリストの、アイテムは、リスト表示用データ。 ) *初期状態完了時 母艦の、可視は、オン。 待機。 '############################################################### *参照押下時 参照実行に、飛ぶ。
*行削除押下時 行削除実行に、飛ぶ。
*クリア押下時 クリア実行に、飛ぶ。 *一覧クリック時 更新実行に、飛ぶ。 *一覧ダブルクリック時 行削除実行に、飛ぶ。 *終了押下時 更新実行を、呼ぶ。 初期画面処理に、飛ぶ。
*秒表示 間隔バーの、値を、バーの値に、得る。 秒表示ラベルは、バーの値。 待機。 '############################################################### *参照実行 母艦のパス& スライドテキストが、存在するか。 もし、(それ<>0)ならば、( 母艦のパス& スライドテキストを、読む。 既存データは、前後の空白削除(それ) )違えば、( 既存データ="" ) 「JPEGファイル|*.jpg;*.jpeg|PNGファイル|*.png」の、読込ファイル選択。 参照データは、それ。 正=0 参照データを、反復( 参照データ#正=参照データ#正 & 「,2,0,0,0」 正=正+1 ) 既存データ= 既存データ &「\n」& 参照データ それは、前後の空白削除(既存データ)。 母艦のパス& スライドテキストへ、書く。 一覧読込動作を、呼ぶ。 待機。
*行削除実行 母艦のパス& スライドテキストが、存在するか。 もし、(それ=0)ならば、待機。 もし、(それ<>0)ならば、母艦のパス& スライドテキストを、読む。 読込データは、それ。 ファイルリストの、値を、索引に、得る。 読込データの、索引行目を、行削除。 読込データは、それ。 それは、前後の空白削除(読込データ)
母艦のパス& スライドテキストへ、書く。 一覧読込動作を、呼ぶ。 待機。
*クリア実行 ファイルリストの、アイテムは、""。 それ="" 母艦のパス& スライドテキストへ、書く。 待機。
*更新実行 ファイルリストの、値を、索引に、得る。 もし、(索引=-1)ならば、戻る。
読込データ="" もし、(現在行="")ならば、( '読込処理と、言う。 ファイルリストの、値を、索引に、得る。 現在行は、索引。 母艦のパス& スライドテキストを、読む。 読込データは、それ。 チェック0の、値は、読込データ#2#索引。 チェック1の、値は、読込データ#3#索引。 チェック2の、値は、読込データ#4#索引。 間隔バーの、値は、読込データ#1#索引。秒表示ラベルは、間隔バーの、値。 待機。 )違えば、( '"更新処理"と、言う。 母艦のパス& スライドテキストを、読む。 読込データは、それ。 索引は、現在行。 リスト行退避=読込データ#0#索引 '索引を、言う。 'リスト行退避を、言う。 読込データの、索引行目を、行削除。 読込データは、それ。 読込データの、要素数 もし、(それ=索引)ならば( 読込データ=読込データ&「{リスト行退避},{間隔バー},{チェック0},{チェック1},{チェック2}」 ) 違えば( 読込データの、索引行目へ、「{リスト行退避},{間隔バー},{チェック0},{チェック1},{チェック2}」を、行挿入。 読込データは、それ。 ) それは、前後の空白削除(読込データ) 母艦のパス& スライドテキストへ、書く。 現在行="" '読込処理と、言う。 ファイルリストの、値を、索引に、得る。 現在行は、索引。 母艦のパス& スライドテキストを、読む。 読込データは、それ。 チェック0の、値は、読込データ#2#索引。 チェック1の、値は、読込データ#3#索引。 チェック2の、値は、読込データ#4#索引。 間隔バーの、値は、読込データ#1#索引。秒表示ラベルは、間隔バーの、値。 ) 戻る。 |
|