2020年12月30日

GIMP 2.10 Script-Fu 画像切り抜きスクリプト

自分の作業用スクリプト。
画像から部分的に2か所切り抜いて、それぞれ別ファイルに保存するためのもの。
テキストファイルはUTF-8で保存する。

ファイル配置場所
C:\Users\{ユーザー名}\AppData\Roaming\GIMP\2.10\scripts

プロシージャ一覧
GIMPメニューバー>ヘルプ>プロシージャーブラウザー

ファイル更新後
GIMPメニューバー>フィルター>Script-Fu>スクリプトを再読み込み
;kirinuki-script.scm

(define (kirinuki-script img drawable)
(gimp-image-crop img 1080 1194 0 195)
(gimp-image-convert-grayscale img)
(gimp-image-convert-rgb img)
(gimp-drawable-invert drawable TRUE)
(gimp-rect-select img 225 311 1145 942 CHANNEL-OP-REPLACE FALSE 0)
(gimp-rect-select img 0 0 225 310 CHANNEL-OP-ADD FALSE 0)
(gimp-edit-clear drawable)
(gimp-selection-none img)
;(define drawable (car (gimp-image-active-drawable 1)))
(gimp-drawable-levels drawable HISTOGRAM-VALUE 0.6 0.8 FALSE 1 0 1 FALSE)
(gimp-displays-flush)

;ファイル名取得
(define origin (car (gimp-image-get-filename img)))
(define newname (substring origin 0 (- (string-length origin) 4)))

;保存
;(gimp-selection-all img)
;(kirinuki-save-script img drawable (string-append newname "_Edited.png"))

;切り抜きA保存
(gimp-rect-select img 219 0 861 314 CHANNEL-OP-REPLACE FALSE 0)
(kirinuki-save-script img drawable (string-append newname "_A.png"))
;切り抜きB保存
(gimp-rect-select img 0 306 266 888 CHANNEL-OP-REPLACE FALSE 0)
(kirinuki-save-script img drawable (string-append newname "_B.png"))
)

; PNG画像保存プロシージャ
(define (kirinuki-save-script img drawable output)
(gimp-edit-copy drawable)
(define img_new (car (gimp-edit-paste-as-new-image)))
;(gimp-display-new img_new)
(define drawable_new (car (gimp-image-get-active-drawable img_new)))
(file-png-save2 RUN-NONINTERACTIVE img_new drawable_new output output 0 9 1 0 0 0 0 0 0)
(gimp-selection-none img)
)

(script-fu-register
"kirinuki-script"
"切り抜きスクリプト"
"○○画像用に切り抜きします。"
"Myself"
"copyright 2020 Myself"
"Dec 30, 2020"
""
SF-IMAGE "Image" 0
SF-DRAWABLE "Drawable" 0
)
(script-fu-menu-register "kirinuki-script" "<Image>/Script-Fu")
参考サイト
タグ:GIMP Script-Fu
posted by Hiro at 15:07| Comment(0) | プログラム

2020年12月20日

Android Studio 環境変数

ファイル名を指定して実行で「sysdm.cpl」を入力。

システムのプロパティ>環境設定タブ>環境変数>ユーザー環境変数

ANDROID_AVD_HOME D:\Android\avd 
ANDROID_SDK_ROOTD:\Android\sdk

※AVDの端末名.iniにパスが描かれているので、移動した場合は書き換える。
avd.ini.encoding=UTF-8
path=D:\Android\avd\Pixel_2_API_30.avd
path.rel=avd\Pixel_2_API_30.avd
target=android-30
タグ:Android Studio
posted by Hiro at 17:20| Comment(0) | プログラム

2020年12月11日

Excel 特定のシートを複数のブックへコピーする

'特定のシートを複数のブックへコピーする
'【使い方】
'任意のシートで、"A1"から下方向に自身のブック内にあるコピー元対象のシート名を列挙する。
'"B1"から下方向にコピー先対象のブック(ファイル名)を列挙する。ファイルを自身のファイルと同じ場所に置く。
'ActiveXボタンを配置し当プロシージャを貼り付ける
Private Sub CommandButton1_Click()

'定数
Const SHEET_MAX As Integer = 10
Const BOOK_MAX As Integer = 10

'確認メッセージ
Dim res
res = MsgBox("処理を開始します。" & vbNewLine & "よろしいですか?", vbYesNo + vbDefaultButton2 + vbQuestion, "確認")
If res = vbNo Then Exit Sub

Dim curSheet As Worksheet
Set curSheet = ThisWorkbook.ActiveSheet

Dim path As String
path = ThisWorkbook.path

'コピー元シート取得
Dim sheetsBase As String
sheetsBase = "A1"
Dim sourceSheetList As Range
Set sourceSheetList = curSheet.Range(sheetsBase, curSheet.Range(sheetsBase).Offset(SHEET_MAX, 0))
'Set sourceSheetList = curSheet.Range(sheetsBase, curSheet.Range(sheetsBase).End(xlDown))

'コピー先ブック取得
Dim bookBase As String
bookBase = "B1"
Dim targetBookList As Range
Set targetBookList = curSheet.Range(bookBase, curSheet.Range(bookBase).Offset(BOOK_MAX, 0))
'Set targetBookList = curSheet.Range(bookBase, curSheet.Range(bookBase).End(xlDown))


Dim targetBook As Workbook
Dim sourceSheet As Worksheet

' 各ブックを開く
For Each bookName In targetBookList
On Error Resume Next
Set targetBook = Nothing
Set targetBook = Workbooks.Open(path & "\" & bookName.Value)
On Error GoTo 0
If Not targetBook Is Nothing Then
' 各シートをコピー
For Each sheetName In sourceSheetList
'シートを特定
On Error Resume Next
Set sourceSheet = Nothing
Set sourceSheet = ThisWorkbook.Worksheets(sheetName.Value)
On Error GoTo 0
If Not sourceSheet Is Nothing Then
'ワークブックへシートをコピー
sourceSheet.Copy After:=targetBook.Sheets(targetBook.Sheets.Count)
End If
Next
'保存する
targetBook.Save
'閉じる
targetBook.Close
End If
Next

res = MsgBox("終了しました。", vbOK + vbInformation, "メッセージ")

End Sub
タグ:Excel VBA
posted by Hiro at 19:38| Comment(0) | プログラム