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 では、オプションで、ビデオアクセラレータを
「なし」にすると動画をキャプチャできるようになります。




  ソースコード



01.Imports System.Drawing
02. 
03.Module MyModule
04. 
05.' ********************************************************
06.' 指定位置のデスクトップ画像をサムネイルとして保存する
07.' ********************************************************
08.Sub Main()
09. 
10.    ' 文字列の配列
11.    Dim argv As String()
12.    Dim save_path As String
13. 
14.    Dim base_x As Integer
15.    Dim base_y As Integer
16.    Dim base_width As Integer
17.    Dim base_height As Integer
18.    Dim target_width As Integer
19.    Dim target_height As Integer
20. 
21.    ' 引数
22.    argv = System.Environment.GetCommandLineArgs()
23. 
24.    ' 引数がある場合
25.    if System.Environment.GetCommandLineArgs.Length = 8 then
26.        save_path = argv(1)
27.        base_x = Integer.Parse(argv(2))
28.        base_y = Integer.Parse(argv(3))
29.        base_width = Integer.Parse(argv(4))
30.        base_height = Integer.Parse(argv(5))
31.        target_width = Integer.Parse(argv(6))
32.        target_height = Integer.Parse(argv(7))
33.    else
34.        Console.WriteLine("引数 : 保存するパス 取得開始位置x 取得開始位置y 幅 高さ 保存幅 保存高さ")
35.        Return
36.    end if
37. 
38.    Dim bmp As New Bitmap(base_width, base_height)
39.    Dim gra As Graphics = Graphics.FromImage(bmp)
40. 
41.    ' 画面のキャプチャ
42.    gra.CopyFromScreen(New Point(base_x, base_y), New Point(0, 0), bmp.Size)
43. 
44.    ' 縮小
45.    Dim thumbnail As Bitmap =  New Bitmap(bmp, target_width, target_height)
46. 
47.    ' 保存
48.    thumbnail.Save(save_path+".jpg", Imaging.ImageFormat.Jpeg )
49. 
50.    thumbnail.Dispose()
51.    gra.Dispose()
52.    bmp.Dispose()
53. 
54.End Sub
55. 
56.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ライブラリ