VB.net : デスクトップの一部をサムネイルにする( コンソールアプリ )

  ダウンロードと使用方法



get_thumbnail.exe


ブラウザでダウンロード

Frameworek 2.0 が必要です。

スクリプトから以下のようにして呼び出して利用する事を想定しています
( コマンドプロンプトを開きません )

  
Set WshShell = CreateObject("WScript.Shell")
Call WshShell.Run( "get_thumbnail.exe test 20 45 1024 710 300 225", 0, True )
MsgBox("OK")
  

※ 第1引数は、保存するファイルのパスですが、拡張子は付けないで下さい
※ 第2引数 : キャプチャする開始座標
※ 第3引数 : キャプチャする幅
※ 第4引数 : キャプチャする高さ
※ 第5引数 : サムネイルの幅
※ 第6引数 : サムネイルの高さ

実際にこのページをキャプチャした画像

Test


これは、パッチ処理を想定していますが、自分が使う目的は動画ギャラリーのサムネイル作成です。

Windows Media Player API を使った簡易動画(画像)ギャラリーを作成する

このツールで動画を表示しながらであれば同じ位置に表示されるので、サムネイルを作成すると
同時に、サムネイルが存在する場合はサムネイルギャラリーを表示するようにしようと思っています。

Microsoft のMediaPlayer では、オプションで、ビデオアクセラレータを
「なし」にすると動画をキャプチャできるようになります。




  ソースコード



Imports System.Drawing

Module MyModule

' ********************************************************
' 指定位置のデスクトップ画像をサムネイルとして保存する
' ********************************************************
Sub Main()

	' 文字列の配列
	Dim argv As String()
	Dim save_path As String

	Dim base_x As Integer
	Dim base_y As Integer
	Dim base_width As Integer
	Dim base_height As Integer
	Dim target_width As Integer
	Dim target_height As Integer

	' 引数
	argv = System.Environment.GetCommandLineArgs()

	' 引数がある場合
	if System.Environment.GetCommandLineArgs.Length = 8 then
		save_path = argv(1)
		base_x = Integer.Parse(argv(2))
		base_y = Integer.Parse(argv(3))
		base_width = Integer.Parse(argv(4))
		base_height = Integer.Parse(argv(5))
		target_width = Integer.Parse(argv(6))
		target_height = Integer.Parse(argv(7))
	else
		Console.WriteLine("引数 : 保存するパス 取得開始位置x 取得開始位置y 幅 高さ 保存幅 保存高さ")
		Return
	end if

	Dim bmp As New Bitmap(base_width, base_height)
	Dim gra As Graphics = Graphics.FromImage(bmp)

	' 画面のキャプチャ
	gra.CopyFromScreen(New Point(base_x, base_y), New Point(0, 0), bmp.Size)

	' 縮小
	Dim thumbnail As Bitmap =  New Bitmap(bmp, target_width, target_height)

	' 保存
	thumbnail.Save(save_path+".jpg", Imaging.ImageFormat.Jpeg )

	thumbnail.Dispose()
	gra.Dispose()
	bmp.Dispose()

End Sub

End Module


関連する Microsoft のリンク

Graphics.CopyFromScreen メソッド (Point, Point, Size) (System.Drawing)
Bitmap コンストラクタ (Image, Int32, Int32) (System.Drawing)
Image.Save メソッド (String, ImageFormat) (System.Drawing)
ImageFormat.Jpeg プロパティ (System.Drawing.Imaging)










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ