SQLの窓 イラストAC フリー素材

2018年02月26日

jQuery で DIV の中の DIV を縦横中央に配置する

ブラウザによって、誤差が 1px 程度あるみたいですが、だいたいにおいてこんなもので行けそうな気がします。
コンテンツ


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(function(){

	$("#box")
		.css(
			{
				"width": "400px",
				"height": "200px",
				"border": "1px solid #000"
			}
		);

	var h1 = $("#box").outerHeight();
	var h2 = $("#target").outerHeight();

	$("#target")
		.css( 
			{
				"width": "200px",
				"text-align": "center",
				"border": "1px solid #000",
				"margin-left" : "auto",
				"margin-right" : "auto",
				"margin-top": "calc( (" + h1 + "px / 2) - " + (h2/2+2) + "px )"
			} 
		);
	
});
</script>
<div id="box">
	<div id="target">コンテンツ</div>
</div>

$("#target").outerHeight() が、フォントサイズか line-height に影響を受けて、奇数の場合は 1ピクセルずれる感じです。
コンテンツ



posted by at 2018-02-26 00:26 | jQuery | このブログの読者になる | 更新情報をチェックする

2018年02月20日

Amazon 画像のトリミングかぁ・・・。これなら jQuery + CSS でもっといいものが作れそう。

強殖装甲ガイバー ガイバーI アクションフィギュア

強殖装甲ガイバー ガイバーI アクションフィギュア

41kRaoHoinL._SX500_CR133,2,200,250_.jpg

_CR(x座標),(y座標),(幅),(高さ)
Amazon 画像は API を使うと、大きくて枚数も一枚じゃ無い商品があります。特に、フィギュアはそういう場合が多いので、いろいろおもしろいかもしれませんね・・・。 いつか作ろう。 2013/09/27 にそう思ったですが、この事実を知ったサイトが無くなって忘れてました。今5年後ですが、誰かが作ってました。(jQuery のプラグイン使えばそんなに難しく無いです) Amazon商品画像トリミングツール (結局、アソシエイトでしか使ってはダメだから、使いどころは難しいです)
posted by at 2018-02-20 21:46 | WEBサービス | このブログの読者になる | 更新情報をチェックする

2018年02月18日

DAZ3D : 人工衛星 / jpg と png があります( 1600x1200 )

Stellar Fury



プロダクトとしては、たしか無料だった記憶があります。定価で $11.95 だし、お世辞にも良いクオリティとは言えないですが、最近は Iray 用のシェーダを使ったりすると物体ものはクオリティが上がったりします。

他にも二つタイプがありますが、イラストAC に上げるのに一般的なものだけを使って仕上げました(2017/12/09)。

※ イラストAC は、投稿日が無い不思議なシステムなので、常に自分でコメント欄に上げた日を書き込んでいます。




JPG 版の背景に使っているのもイラストAC に上げたものです。

夢の中の青い惑星


※ 地球のバックの宇宙空間は GIMP で作成したものです。

せっかくなので、他の二機体でシーン作ってみました






posted by at 2018-02-18 19:33 | その他:イラストAC | このブログの読者になる | 更新情報をチェックする

DAZ3D : 銀河パトロールレディ / 壁紙にどうぞ( 1600x1200 )

StarSlayer Outfit for Genesis 3 Female



妖精や魔法のファンタジーも好きだしいいのですが、イラストAC に投稿するとなると使いどころが無いだろうなぁとは前がら思ってました。だからと言って、SF 系だからといってダウンロードが増えるわけでもありませんが、『宇宙』のほうが、はまる時ははまるんだろうと『地球』が結構ダウンロード多いので。



これらは皆同じコスチュームですが、『銀河パトロール』という組織をでっちあげてしまうと、『制服』という事になって違和感無いわけです。作ってても壁紙としてははまりやすいしかっこいいし。



あと、いろいろ作りながらライトやカメラや背景効果なんかを試して自己満足が結構満たされます。このコスチューム買ってから背景の SF 系である宇宙船内部らしいプロダクトもいくつか手にいれました。で、結局そっちだけレンダリングしたほうが需要はあるかもしれないんですが...



でも、結局主人公が居ないとテクニックは上がらないとは思います。構図とかライトってほんと主人公あってのお話だといつも思います。



それと、キャラクタを作り上げる(カスタマイズ)楽しさや、表情を作る練習は風景やってるのと芯の入り方が違うような気がするわけです。



まあ、でも自分でもこれは壁紙以外での使い道解んないですけど...





posted by at 2018-02-18 18:27 | イラストAC | このブログの読者になる | 更新情報をチェックする

テキスト変換サービス



https://lightbox.sakura.ne.jp/homepage/php/cnvtext/frame.htm

いろいろな文字列に変換して、クリップボードへコピーします。
送信1 pre タグ付きの htmlentities
送信2 innerHTML を使用して、ブラウザが表現する HTML に変換
JavaScript 整形
CSS 整形
unicode JavaScrip 文字列内に書く Unicode
HTML数値文字列参照 HTML 内に書く Unicode
SJIS urlencode SHIFT_JIS をエンコード
UJIS urlencode EUC-JPに変換してエンコード
UTF8 urlencode UTF-8に変換してエンコード
urldecode urlencode 解除
base64_encode  
base64_decode  
メール用

JIS を base64 でエンコードした文字列を
=?ISO-2022-JP?B? と ?= で挟んだもの

メール用decode メール用を元に戻したもの
全角半角 いろいろな全角と半角の相互変換
JavaScript文字列 JavaScript で有効な 文字列に変換
PHP文字列 PHP で有効な 文字列に変換
VBS文字列 VBSCriptで有効な文字列に変換
SQLselect整形 Select 構文を解りやすく整形
Upper アルファベットを大文字に変換
Lower アルファベットを小文字に変換
逆順 文字列を反対から並べる
JIS JIS で表示。
JISでdownload JIS と同じものをダウンロードさせる
JIS->SJIS メール本文は JIS。その為の変換
\エスケープ C や PHP でのファイルのパス作成用
TAB->TABLE Excel から コピーしたデータを HTML の TABLE に変換
TAB->カンマ(トークン変換) Excel から コピーしたデータの変換
カンマ->TAB(トークン変換) Excel に貼り付ける為の変換
カンマ->\nカンマ(トークン変換) 横に長いリストを縦に変換
改行除去(トークン変換)  
改行->SPC(トークン変換) 改行をスペースに変換
空白->1SPC(トークン変換) 複数の空白を1つのスペースに変換
sha1
md5
sha256
sha512



posted by at 2018-02-18 16:55 | WEBサービス | このブログの読者になる | 更新情報をチェックする

2018年02月16日

VBScript + clipコマンド + レジストリ登録で、エクスプローラのディレクトリの右クリックでファイル名のリストをクリップボードにコピーできるようにする



昔はクリップボードにコピーするコマンドを自作したりしてましたが、今では clip コマンドが Windows のコマンドプロンプトから実行できます。
CLIP

説明:
    コマンド ライン ツールの出力を Windows クリップボードにリダイレクトします。
    その出力されたテキストをほかのプログラムに貼り付けることができます。

パラメーター一覧:
    /?                  このヘルプを表示します。

例:
    DIR | CLIP          現在のディレクトリ一覧のコピーを Windows クリップボード
                        に貼り付けます。

    CLIP < README.TXT   readme.txt ファイルのテキストのコピーを Windows
                        クリップボードに貼り付けます。
これを使用すると、dir コマンドの結果をクリップボードにコピーできます。 dir /A:-D /B /O:N | clip ※ -D はディレクトリを省く、/B はファイル名のみを表示、/O:N は名前順に表示 さらに、このコマンドを VBScript から『コマンドプロンプトを開かない』で実行できるようにします。 filelist.vbs
Set WshShell = CreateObject( "WScript.Shell" )

Target= WScript.Arguments(0)
Command = "cmd /C dir ""$1"" /A:-D /B /O:N | CLIP"
Command = Replace( Command, "$1", Target )

Call WshShell.Run( Command, 0, True )

※ 引数に dir 対象のフォルダのパスが入る必要があります。

これを以下の内容で、.reg を拡張子にしてキャラクタセットを SHIFT_JIS か unicode に変更してエクスプローラからダブルクリックして実行すると、エクスプローラのフォルダの右クリックで実行できるようになります。

filelist.reg
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\filelist]
@="ファイル一覧をコピー"

[HKEY_CLASSES_ROOT\Directory\shell\filelist\command]
@="wscript.exe \"C:\\tools\\filelist.vbs\" \"%L\""
※ ここでは、filelist.vbs を c:\toos に保存しています。



posted by at 2018-02-16 07:49 | VBScript | このブログの読者になる | 更新情報をチェックする

どうも Windows10 の動作がうさんくさいので、いろいろやってます。

最近やっと、Windows10 周りの作業を始めましたが、『何だこりゃ...』みたいな事が続出です。

何か実行してると、エクスプローラが消える



これは、Windows10 を良く解らない最初のころに変更してしまったかもしれないですが、チェックしておかないとそうなります。どうも Windows10 は何か実行するたびに必要以上に自分自身(タスクバー管理している本体)をリセットするようで、その際にこのようになる気がします。

破損ファイルの修復

以下は、破損ファイルのチェック方法ですが、PowerShell(管理者)から実行しています。ここでは特に何も起きなかったですが、何かあったら『ISM /Online /Cleanup-Image /RestoreHealth』を実行するそうです。
( ※参考元サイト/英語なので注意 )
PS C:\WINDOWS\system32> sfc /scannow

システム スキャンを開始しています。これにはしばらく時間がかかります。

システム スキャンの検証フェーズを開始しています。
検証 100% が完了しました。

Windows リソース保護は、整合性違反を検出しませんでした。
PS C:\WINDOWS\system32>
インデックスの再構築 これは効果あるのかどうか解らないですが、『破損ファイルの修復』で参照したサイトに書いてあったのでやってます。
1) Windowsのキー+ Rキーを押しながら[実行]ウィンドウを開きます。 "control /name Microsoft.IndexingOptions"を引用符なしで次のように入力します。

2) [Indexing Options]ウィンドウの左下にある[Modify]をクリックします。 [すべての場所を表示]ボタンをクリックし、現在選択されているすべての場所の選択を解除します。 [OK]をクリックします。

3) [詳細設定]をクリックし、[トラブルシューティング]セクションの[再構築]をクリックします。 これには時間がかかることを示すメッセージが表示されます。 [OK]をクリックします。

4) Windowsキー+ Rを押し続けて、実行ウィンドウを再度開きます。 今すぐあなたのマシンを再起動する引用符なしで "Shutdown -r"を入力してください。
メニューの PowerShell をコマンドプロンプトに戻す WIN+R(ファイル名を指定して実行)から ms-settings:taskbar を実行してタスクバーの設定を表示してオフにするだけです。 ms- コマンド(URI スキーム)一覧はこちら
タグ:windows10
posted by at 2018-02-16 05:03 | Windows | このブログの読者になる | 更新情報をチェックする

2018年02月12日

VBScript(WMI) : OSの情報をコマンドプロンプトに一覧で表示する

WMI( Win32_OperatingSystem ) により、OS の情報を表示しています。全ての値が文字列でそのまま表示可能では無いので on error resume next と on error goto 0 でエラー処理を行っています。



結果をテキストファイルにするには、コマンドプロンプトから cscript スクリプト名 > テキストファイル名 とすると書き込まれます( cscript で実行すると、Crun 関数は何もしません )

Call Crun()

' **********************************************************
' OS の情報一覧( ローカル限定 )
' **********************************************************
Set obj = GetObject("winmgmts:\\.\root\cimv2")
Set colTarget = obj.ExecQuery( "select * from Win32_OperatingSystem" )
' この場合行は1行しかありません
For Each objRow in colTarget
	Set colProps = objRow.Properties_
	For Each objProp in colProps
		on error resume next
		Wscript.Echo RpadB(objProp.Name," ", 25 ) & " : " & objProp.Value
		if Err.Number <> 0 then
			Wscript.Echo RpadB(objProp.Name," ", 25 ) & " : " & "データ型が " & TypeName(objProp.Value) & " なので処理できません"
		end if
		on error goto 0
	Next
Next

' **********************************************************
' Cscript.exe で実行を強制
' Cscript.exe の実行終了後 pause で一時停止
' **********************************************************
Function Crun( )

	Dim str,WshShell

	str = WScript.FullName
	str = Right( str, 11 )
	str = Ucase( str )
	if str <> "CSCRIPT.EXE" then
		str = WScript.ScriptFullName

		Set WshShell = CreateObject( "WScript.Shell" )

		strParam = " "
		For I = 0 to Wscript.Arguments.Count - 1
			if instr(Wscript.Arguments(I), " ") < 1 then
				strParam = strParam & Wscript.Arguments(I) & " "
			else
				strParam = strParam & Dd(Wscript.Arguments(I)) & " "
			end if
		Next
		Call WshShell.Run( "cmd.exe /c cscript.exe " & Dd(str) & strParam & " & pause", 1 )
		WScript.Quit
	end if

End Function
' **********************************************************
' 文字列を " で囲む関数
' **********************************************************
Function Dd( strValue )

	Dd = """" & strValue & """"

End function
' **************************************
' 文字列の右側をスペースで埋める
' **************************************
Function RpadB( strValue, str, nLen )

	Dim strWork,nLen2

	strWork = Left( strValue & String(nLen,str), nLen )
	nLen2 = nLen

	Do While ByteLen( strWork ) > nLen
		nLen2 = nLen2 - 1
		if nLen2 <= 0 then
			Exit Do
		end if
		strWork = Left( strValue & String(nLen,str), nLen2 )
	Loop
	RpadB = strWork

End function
' **************************************
' 漢字と半角での横幅の計算
' **************************************
Function ByteLen( strTarget )

	Dim i,nLen,nRet,strMoji,nAsc

	nRet = 0

	nLen = Len( strTarget )

	For i = 1 to nLen
		nRet = nRet + 2
		strMoji = Mid( strTarget, i, 1 )
		nAsc = Asc( strMoji )
		if &H0 <= nAsc and nAsc <= &H80 then
			nRet = nRet - 1
		end if
		if &HA0 <= nAsc and nAsc <= &HDF then
			nRet = nRet - 1
		end if
		if &HFD <= nAsc and nAsc <= &HFF then
			nRet = nRet - 1
		end if
	Next

	ByteLen = nRet

End Function


全く同じ処理を以下の短いコードでも実行できます(関数を WEB 上に置いています)
<JOB>
<SCRIPT language="VBScript" src="http://lightbox.in.coocan.jp/laylaClass.vbs"></SCRIPT>
<SCRIPT language="VBScript">
' ***********************************************************
' 処理開始
' ***********************************************************
Call laylaFunctionTarget( "http://lightbox.in.coocan.jp/" )
Call laylaLoadFunction( "baseFunction.vbs" )

Call Crun()

' **********************************************************
' OS の情報一覧( ローカル限定 )
' **********************************************************
Set obj = GetObject("winmgmts:\\.\root\cimv2")
Set colTarget = obj.ExecQuery( "select * from Win32_OperatingSystem" )
' この場合行は1行しかありません
For Each objRow in colTarget
	Set colProps = objRow.Properties_
	For Each objProp in colProps
		on error resume next
		Wscript.Echo RpadB(objProp.Name," ", 25 ) & " : " & objProp.Value
		if Err.Number <> 0 then
			Wscript.Echo RpadB(objProp.Name," ", 25 ) & " : " & "データ型が " & TypeName(objProp.Value) & " なので処理できません"
		end if
		on error goto 0
	Next
Next

</SCRIPT>
</JOB>


TypeName 関数



タグ:VBScript WMI
posted by at 2018-02-12 14:29 | VBScript | このブログの読者になる | 更新情報をチェックする

VBScript(WMI) : 共有一覧

共有の取得部分は、Select * from Win32_Share で取得できます。それらをコマンドプロンプトで見やすく表示させる為の関数を定義しています。



1) Crun : cscript.exe での実行の強制( コマンドプロンプトへの切り替え )
2) Dd : 文字列の処理
3) RpadB : 文字列整形用
4) ByteLen : RpadB 用

Call Crun()

' **************************************
' 共有一覧(WMI)
' **************************************
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colShares = objWMIService.ExecQuery("Select * from Win32_Share")
Wscript.Echo "【共有一覧】"
Wscript.Echo "----------------------------------------------------"
For Each Share In colShares
	Wscript.Echo RpadB(Share.Name, " ", 20) & " : " & Share.Path
Next


' **********************************************************
' Cscript.exe で実行を強制
' Cscript.exe の実行終了後 pause で一時停止
' **********************************************************
Function Crun( )

	Dim str,WshShell

	str = WScript.FullName
	str = Right( str, 11 )
	str = Ucase( str )
	if str <> "CSCRIPT.EXE" then
		str = WScript.ScriptFullName

		Set WshShell = CreateObject( "WScript.Shell" )

		strParam = " "
		For I = 0 to Wscript.Arguments.Count - 1
			if instr(Wscript.Arguments(I), " ") < 1 then
				strParam = strParam & Wscript.Arguments(I) & " "
			else
				strParam = strParam & Dd(Wscript.Arguments(I)) & " "
			end if
		Next
		Call WshShell.Run( "cmd.exe /c cscript.exe " & Dd(str) & strParam & " & pause", 1 )
		WScript.Quit
	end if

End Function
' **********************************************************
' 文字列を " で囲む関数
' **********************************************************
Function Dd( strValue )

	Dd = """" & strValue & """"

End function
' **************************************
' 文字列の右側をスペースで埋める
' **************************************
Function RpadB( strValue, str, nLen )

	Dim strWork,nLen2

	strWork = Left( strValue & String(nLen,str), nLen )
	nLen2 = nLen

	Do While ByteLen( strWork ) > nLen
		nLen2 = nLen2 - 1
		if nLen2 <= 0 then
			Exit Do
		end if
		strWork = Left( strValue & String(nLen,str), nLen2 )
	Loop
	RpadB = strWork

End function
' **************************************
' 漢字と半角での横幅の計算
' **************************************
Function ByteLen( strTarget )

	Dim i,nLen,nRet,strMoji,nAsc

	nRet = 0

	nLen = Len( strTarget )

	For i = 1 to nLen
		nRet = nRet + 2
		strMoji = Mid( strTarget, i, 1 )
		nAsc = Asc( strMoji )
		if &H0 <= nAsc and nAsc <= &H80 then
			nRet = nRet - 1
		end if
		if &HA0 <= nAsc and nAsc <= &HDF then
			nRet = nRet - 1
		end if
		if &HFD <= nAsc and nAsc <= &HFF then
			nRet = nRet - 1
		end if
	Next

	ByteLen = nRet

End Function


全く同じ処理を以下の短いコードでも実行できます(関数を WEB 上に置いています)
<JOB>
<SCRIPT language="VBScript" src="http://lightbox.in.coocan.jp/laylaClass.vbs"></SCRIPT>
<SCRIPT language="VBScript">
' ***********************************************************
' 処理開始
' ***********************************************************
Call laylaFunctionTarget( "http://lightbox.in.coocan.jp/" )
Call laylaLoadFunction( "baseFunction.vbs" )

Call Crun()

' **************************************
' 共有一覧(WMI)
' **************************************
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colShares = objWMIService.ExecQuery("Select * from Win32_Share")
Wscript.Echo "【共有一覧】"
Wscript.Echo "----------------------------------------------------"
For Each Share In colShares
	Wscript.Echo RpadB(Share.Name, " ", 20) & " : " & Share.Path
Next

</SCRIPT>
</JOB>





タグ:VBScript WMI
posted by at 2018-02-12 03:08 | VBScript | このブログの読者になる | 更新情報をチェックする

2018年02月08日

テキストエリアでタブ処理

ブラウザ上のテキストエリア( 複数行の入力 ) では、TAB キーによるタブコードの入力ができませんが、クリップボードから貼り付ける事はできます。

しかし、それでは直接ソースコードのタイプするのに苦労するのが実際です。

そこで、スクリプトを使って TAB コードの挿入を可能にし、通常のエディタのように、選択状態の内容に一括してタブコードを挿入してインデントできるようにしました。

SHIFT+TAB では 選択範囲のTAB コードを一括して削除します

実装コード
<script src="https://lightbox.sakura.ne.jp/toolbox/tabtextarea.js"></script>

<script>createTabTextArea("sample1");</script>></textarea>
<br>
<script>createTabTextArea("sample2",60,8,"myclass");</script>></textarea>

以下で入力できます。

> ここを 選択して タブキーを押す
>




タグ:javascript
posted by at 2018-02-08 12:42 | JavaScript | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します