C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[7]: 動画を静止画で保存


(過去ログ 145 を表示中)

[トピック内 10 記事 (1 - 10 表示)]  << 0 >>

■84974 / inTopicNo.1)  動画を静止画で保存
  
□投稿者/ しろ (1回)-(2017/08/31(Thu) 08:25:38)

分類:[C#] 

カメラで動画を静止画に保存するプログラム
を作っているのですがまだ初心者なのでわかりません
どやったらいいでしょうか?
何となくここまでできましたがファイルを日付と時刻の
名前にしたいのですがなかなかできません

private void button1_Click(object sender, EventArgs e)
{
// 現在の日付と時刻を取得する
DateTime dtNow = DateTime.Now;
label1.Text = (dtNow.ToString());

// 取得した日付と時刻を表示する
MessageBox.Show(dtNow.ToString());

Bitmap bitmap = cameraControl1.TakeSnapshot();
bitmap.Save("dtNow.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
}
引用返信 編集キー/
■84975 / inTopicNo.2)  Re[1]: 動画を静止画で保存
□投稿者/ 774RR (562回)-(2017/08/31(Thu) 09:42:25)
結局のところ質問は、ファイル名として日付と時刻を利用したい→時刻を文字列化したいということなら
http://dobon.net/vb/dotnet/string/datetimeformat.html


引用返信 編集キー/
■84987 / inTopicNo.3)  Re[2]: 動画を静止画で保存
□投稿者/ しろ (3回)-(2017/09/01(Fri) 08:13:58)
No84975 (774RR さん) に返信
> 結局のところ質問は、ファイル名として日付と時刻を利用したい→時刻を文字列化したいということなら
> http://dobon.net/vb/dotnet/string/datetimeformat.html
>
>
紹介してもらったサイトを参考に作ってみましたがどうしても
うまくいかないところがあるので教えてください
どうしても最後のjpgのファイル名がjp西暦と表示されてしまいます
どうしたらよいでしょうか?


DateTime dt = DateTime.Now;


label1.Text=(dt.ToString("gyyyy年MM月dd日(dddd)tthh時mm分"));
//西暦2000年05月12日(金曜日)

Bitmap bitmap = cameraControl1.TakeSnapshot();
bitmap.Save(dt.ToString("yyyy年MM月dd日(dddd)tthh時mm分.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg);
引用返信 編集キー/
■84988 / inTopicNo.4)  Re[3]: 動画を静止画で保存
□投稿者/ 774RR (563回)-(2017/09/01(Fri) 08:41:45)
惜しい!実に惜しい後一歩!

DateTime.ToString(fmt) の fmt 文字列は全てフォーマット文字と解釈される仕様なので、
フォーマットしたくない文字を与えても変換対象となるわけだ。 jpg の g は変換対象なのでそうなる。

ここは2段階に分けると良い。前半は日付の文字化、後半は ".jpg" を追加。たとえば

String formatteddate = dt.Format("yyyyMMddhhmm"); // 201709010839
bitmap.Save(formatteddate + ".jpg", 以下略); // 201709010839.jpg

ついでにローカライズができるようにしておくともっと良い。
フォーマット文字列はローカライズリソースから読むようにしておくと素敵。

引用返信 編集キー/
■84990 / inTopicNo.5)  Re[4]: 動画を静止画で保存
□投稿者/ しろ (5回)-(2017/09/01(Fri) 10:32:40)
No84988 (774RR さん) に返信
> 惜しい!実に惜しい後一歩!
>
> DateTime.ToString(fmt) の fmt 文字列は全てフォーマット文字と解釈される仕様なので、
> フォーマットしたくない文字を与えても変換対象となるわけだ。 jpg の g は変換対象なのでそうなる。
>
> ここは2段階に分けると良い。前半は日付の文字化、後半は ".jpg" を追加。たとえば
>
> String formatteddate = dt.Format("yyyyMMddhhmm"); // 201709010839
> bitmap.Save(formatteddate + ".jpg", 以下略); // 201709010839.jpg
>
> ついでにローカライズができるようにしておくともっと良い。
> フォーマット文字列はローカライズリソースから読むようにしておくと素敵。
回答ありがとうございます。イマイチ分かりませんがこんな感じでやってみましたが
Formatの部分でエラーが発生します何か悪いんでしょうか?
String formatteddate = dt.Format("yyyyMMddhhmm"); // 201709010839
bitmap.Save(dt.ToString(formatteddate + ".jpg"), System.Drawing.Imaging.ImageFormat.Jpeg);

引用返信 編集キー/
■84991 / inTopicNo.6)  Re[5]: 動画を静止画で保存
□投稿者/ 774RR (565回)-(2017/09/01(Fri) 11:11:37)
エラーが出ますだけでなくて、そのエラーメッセージを忠実に書き込むのが吉

ウチでは次のコードで問題なく動いている (VS2005/.NET 2.0/コンソール)
// 前略
static void Main(string[] args)
{
DateTime dt = DateTime.Now;
String formatteddate = dt.ToString("yyyyMMddhhmm");
Console.WriteLine(formatteddate + ".jpg");
}

結果は 201709011108.jpg とか。

引用返信 編集キー/
■84992 / inTopicNo.7)  Re[5]: 動画を静止画で保存
□投稿者/ しろ (7回)-(2017/09/01(Fri) 11:12:48)
No84990 (しろ さん) に返信
なんだかんだでいろいろ試してみたらできました!!
これに、保存先も指定したいのですがもう一つお願いします
引用返信 編集キー/
■84993 / inTopicNo.8)  Re[6]: 動画を静止画で保存
□投稿者/ 774RR (566回)-(2017/09/01(Fri) 11:58:19)
stackoverflow 的には「別質問は別トピック」となるけど、まあいいだろう。

SaveFileDialog でセーブ先を指定するのが一般的かと (WinForms/WPF だよね?)
https://dobon.net/vb/dotnet/form/savefiledialog.html

DialogResult.OK なとき、出力先として FileName を使う。

SaveFileDialog は using して使うのが良い (dobon さんとこでは略しているので注意)

引用返信 編集キー/
■84994 / inTopicNo.9)  Re[6]: 動画を静止画で保存
□投稿者/ Azulean (856回)-(2017/09/01(Fri) 23:40:40)
No84992 (しろ さん) に返信
> これに、保存先も指定したいのですがもう一つお願いします

これはすでに「質問」ではなく、「依頼」に見えますけどね。
依頼にしても、仕様を明らかにしていないので、望む答えを得られないと思いますが…。


断片的な情報から推測するに…

・流れてくる動画から静止画像を保存している
・日時でファイル名をつける
→フォルダー指定を意図している?

この仮定があっているのなら、FolderBrowseDialog か TextBox でフォルダーを入力させて、Path.Combine でつなげてください。

No84991 (774RR さん) に返信
> {
> DateTime dt = DateTime.Now;
> String formatteddate = dt.ToString("yyyyMMddhhmm");
> Console.WriteLine(formatteddate + ".jpg");
> }

好みの領域かもしれませんし、質問者さんからすると何段か先の話かもしれませんが、string.Format("{0:yyyyMMddhhmm}.jpg", dt); とするのも手段としてありますね。
引用返信 編集キー/
■85061 / inTopicNo.10)  Re[7]: 動画を静止画で保存
□投稿者/ しろ (8回)-(2017/09/08(Fri) 07:40:32)
皆さんありがとうございます
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -