土曜日, 1月 18, 2025

TCDW8285
バスは揺れがあるので目が疲れるからNGです

移動中に本を読むのに適しているのは外光の影響がない地下鉄がベストですね。問題は集中していて降りるのを忘れることですね。逆にバスは揺れがあるので目が疲れるからNGです。

金曜日, 1月 17, 2025

長くて扁平なケーブルは綿棒ケースの蓋で問題解決

長くて扁平なケーブルは綿棒ケースの蓋2つで問題解決します。

発端は、購入したバッテリーは本体充電時はType Bで、iPhoneを充電する場合はLightningのコネクタなのでアダプターで切り替える用になって居るのですが、当然接触不良が発生してまともに使えなくなりました。

そこで100均でType BとLightningを共有できる便利なケーブルを見つけたのですが、ケーブルが長すぎるのが気になっていました。

そこで、綿棒ケースの蓋を2つ用意し・・・

ケーブルの出口をカッターで削り取り、セロテープで留めれば完成です。ケーブルが短いときは引き出し、戻すときは手動でなんとかなります。お薦めです。

TCDW8284
チョット他もあたってみないと・・・ですね

ここ数年、よく出かける店が・・・ホームセンタ—の工具売り場、100均・・・チョット他もあたってみないと・・・ですね(^o^)汗

木曜日, 1月 16, 2025

Excel VBA 35 
選択色の明暗チントカラーを表示

設定した色の濃度と暗さのバリエーションを自動生成します。
処理の関係で2つのVBAに分けました。

濃度調整の9段階> Sub ApplyColorShades()
A10セルの色の10%~90%をA1~A9のセルに反映

暗さ調整の9段階> Sub ApplyDarkerShades()
A10セルの色の10%~90%暗い色をA11~A19のセルに反映

Sub ApplyColorShades()
Dim selectedCell As Range
Dim baseColor As Long
Dim r As Long, g As Long, b As Long
Dim newColor As Long
Dim i As Integer
Dim factor As Double
Dim ws As Worksheet
' 現在のシートを取得
Set ws = ActiveSheet
' 選択範囲の最初のセルを取得
Set selectedCell = Selection.Cells(1, 1)
' 選択されたセルの塗り色を取得
baseColor = selectedCell.Interior.Color
' RGB値を分解
r = baseColor Mod 256
g = (baseColor ¥ 256) Mod 256
b = (baseColor ¥ 256 ¥ 256) Mod 256
' A1〜A9に10%〜90%の濃度の色を適用
For i = 1 To 9
' 濃度の割合を計算
factor = i * 0.1
' 新しいRGB値を計算(白に近づける)
newColor = RGB(255 - (255 - r) * factor, _
255 - (255 - g) * factor, _
255 - (255 - b) * factor)
' A列のセルに色を適用
ws.Cells(i, 1).Interior.Color = newColor
ws.Cells(i, 2).Value = "濃度 " &
            Format(factor * 100, "0") & "%"
Next i
End Sub

Sub ApplyDarkerShades()
Dim selectedCell As Range
Dim baseColor As Long
Dim r As Long, g As Long, b As Long
Dim newColor As Long
Dim i As Integer
Dim factor As Double
Dim ws As Worksheet
' 現在のシートを取得
Set ws = ActiveSheet
' 選択範囲の最初のセルを取得
Set selectedCell = Selection.Cells(1, 1)
' 選択されたセルの塗り色を取得
baseColor = selectedCell.Interior.Color
' RGB値を分解
r = baseColor Mod 256
g = (baseColor ¥ 256) Mod 256
b = (baseColor ¥ 256 ¥ 256) Mod 256
' A11〜A19に10%〜90%暗い色を適用
For i = 1 To 9
' 暗さの割合を計算
factor = i * 0.1
' 新しいRGB値を計算(黒に近づける)
newColor = RGB(r * (1 - factor), _
g * (1 - factor), _
b * (1 - factor))
' A列のセルに色を適用
ws.Cells(i + 10, 1).Interior.Color = newColor
ws.Cells(i + 10, 2).Value =
            "暗さ " & Format(factor * 100, "0") & "%"
Next i
End Sub

[A10]セルを任意のベースカラーで塗り潰します。

ここで、ApplyColorShades()
を実行します。

これで[A10]の色に対して 10%~90%薄い色が[A1]〜[A9]のセルに塗り潰されます。

続いて、ApplyDarkerShades()
を実行します。これで[A10]の色に対して 10%~90%濃い(暗い)色が[A11]〜[A19]のセルに塗り潰されます。

続けて処理したい場合は・・・A列に2列新規列を挿入し、[A10]セルを任意のベースカラーで塗り潰し・・・

同じように処理すればOKです。

TCDW8283
俳優の演技力と凝縮されたストーリー

1960年前後にUSAで放映された"One Step Beyond"は日本でも「世にも不思議な物語」として放映されていましたが、20話分のDVDを持っていて、久しぶりに鑑賞しました。30分番組ですが、俳優の演技力と凝縮されたストーリーで、何度見ても飽きません。

水曜日, 1月 15, 2025

Let's start JavaScript 52 
HTML上で指定色と、その補色を表示(2)

一昨日アップした「HTML上で指定色と、その補色を表示」にミスがあり、その修正版です。計算は問題ないのですが・・・

カラーパレット上に16進数を白で表示すると・・・

可読性が悪い状況が出るので,16ディンづうえおカラーパレットから外しました。

<!-- index.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0"> -->
<title>指定色の補色を表示</title>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
margin-top: 50px;
}
.color-box {
display: inline-block;
width: 150px;
height: 150px;
margin: 30px;
line-height: 110px;
color: #000;
font-weight: bold;
}
</style>
</head>
<body>
<h2>指定色と、その補色を表示</h2>
<label for="colorInput">色を指定 (HEX): </label>
<input type="text" id="colorInput" value="#3cb371">
<button onclick="showComplementaryColor()">
補色を表示</button>

<div id="result"></div>

<script>
function hexToRgb(hex) {
// HEXをRGBに変換
hex = hex.replace(/^#/, "");
if (hex.length === 3) {
hex = hex.split("").map(c => c + c).join("");
}
const r = parseInt(hex.slice(0, 2), 16);
const g = parseInt(hex.slice(2, 4), 16);
const b = parseInt(hex.slice(4, 6), 16);
return { r, g, b };
}

function rgbToHex(r, g, b) {
// RGBをHEXに変換
return (
"#" +
[r, g, b]
.map(x => x.toString(16).padStart(2, "0"))
.join("")
);
}

function getComplementaryColor(hex) {
// 補色を計算 各RGB成分を255から引く
const { r, g, b } = hexToRgb(hex);
const compR = 255 - r;
const compG = 255 - g;
const compB = 255 - b;
// 補色を再びHEX形式に変換
return rgbToHex(compR, compG, compB);
}

// 結果を準備
function showComplementaryColor() {
const inputColor =
document.getElementById("colorInput").value;
const complementaryColor =
getComplementaryColor(inputColor);

// 結果を表示
const resultDiv = document.getElementById("result");
resultDiv.innerHTML = `
<div class="color-box" style=
"background-color: ${inputColor};"><br>
${inputColor}
</div>
<div class="color-box" style=
"background-color: ${complementaryColor};"><br>
${complementaryColor}
</div>
`;
}
</script>
</body>
</html>
<!-- index.html -->

修正箇所は以下の4箇所です。
.color-box {
line-height: 110px;
color: #000;

以下<br>を追加しただけ。

<div class="color-box" style=
"background-color: ${inputColor};"><br>
${inputColor}
</div>
<div class="color-box" style=
"background-color: ${complementaryColor};"><br>
${complementaryColor}
</div>

これで、どんな色も問題なく確認できます。

TCDW8282
こんなのに引っかかる人いることが謎

Baby Alien 055
色が濃すぎて怖いかも(^o^)
なんだかよく分からない留守電に「2時間後に電話が使えなくなる」と入っていて笑う。こんなのに引っかかる人いることが謎ですが、いまだにオールドメディアを信じている人がいるので、ある意味詐欺天国なのかもね。ところで「オレオレ詐欺」があるのに「あたしあたし詐欺」は無いの?

火曜日, 1月 14, 2025

Blender Study Notes 45 
シンメトリー処理はAutoMirrorで決まりですね

既にアップしていたと思っていたのですが、アップしていなかったので整理しました。2年前にアップした手順より簡単便利です。


基本的に既にインストールされているので[編集]>[プリファレンス]>[アドオン]と進み、検索して表示された[AutoMirror]にチェックを入れるだけです。

もし間違って削除してしまった場合は以下のサイトに入る・・・


画面下に進んでダウンロードをクリックします。これでダウンロードフォルダーに[add-on-auto-mirror-v2.5.4.zip]が現れるので解凍せずに整理した場所に移動させます。

[編集]>[プリファレンス]>[アドオン]と進み、[ディスクからインストール]を選び、先ほどダウンロードしたzipファイルを指定します。

これでAutoMirrorっが使えるようになります。

既に作り込んだファイルなら選択してえから画面に偽上の[く]マークを引き伸ばし・・・

[AutioMiror]をダブルクリックすると上の様に右端に[ミラー]のモディファイアー
が表示されるので,」図のように全てのアイコンを選択必要はなく、右から1番2版を選択します。これでシンメトリー設定の完了です。

4つにアイコンのうち右から2つ目の[リアルタイム]をクリックすると、実際のデータだけが表示されます。これで削除したい半分が自動的に削除されていることが確認できるはずです。もちろん最終的に処理を確定すれば反対側も物理的に表示が固定されます。

Blender 4.3.1 macOS

TCDW8281
無意識に観ている(つもり)モノが少しづつ変わっているから

半年ぐらい前から利用しなくなった道をしばらくぶりに歩くと、少々混乱しますね。無意識に観ている(つもり)モノが少しづつ変わっているからですね〜。チョット不気味かも。

月曜日, 1月 13, 2025

Let's start JavaScript 51 
HTML上で指定色と、その補色を表示

HTML上で指定色と、その補色を表示させます。

<!-- index.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>指定色の補色を表示</title>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
margin-top: 50px;
}
.color-box {
display: inline-block;
width: 150px;
height: 150px;
margin: 30px;
line-height: 150px;
color: #fff;
font-weight: bold;
}
</style>
</head>
<body>
<h2>指定色と、その補色を表示</h2>
<label for="colorInput">色を指定 (HEX): </label>
<input type="text" id="colorInput" value="#3cb371">
<button onclick="showComplementaryColor()">
    補色を表示</button>

<div id="result"></div>

<script>
function hexToRgb(hex) {
// HEXをRGBに変換
hex = hex.replace(/^#/, "");
if (hex.length === 3) {
hex = hex.split("").map(c => c + c).join("");
}
const r = parseInt(hex.slice(0, 2), 16);
const g = parseInt(hex.slice(2, 4), 16);
const b = parseInt(hex.slice(4, 6), 16);
return { r, g, b };
}

function rgbToHex(r, g, b) {
// RGBをHEXに変換
return (
"#" +
[r, g, b]
.map(x => x.toString(16).padStart(2, "0"))
.join("")
);
}

function getComplementaryColor(hex) {
// 補色を計算 各RGB成分を255から引く
const { r, g, b } = hexToRgb(hex);
const compR = 255 - r;
const compG = 255 - g;
const compB = 255 - b;
// 補色を再びHEX形式に変換
return rgbToHex(compR, compG, compB);
}

// 結果を準備
function showComplementaryColor() {
const inputColor =
        document.getElementById("colorInput").value;
const complementaryColor =
        getComplementaryColor(inputColor);

// 結果を表示
const resultDiv = document.getElementById("result");
resultDiv.innerHTML = `
<div class="color-box" style=
            "background-color: ${inputColor};">
${inputColor}
</div>
<div class="color-box" style=
            "background-color: ${complementaryColor};">
${complementaryColor}
</div>
`;
}
</script>
</body>
</html>
<!-- index.html -->

 
実行直後の画面です。デフォルトの#3cb371が入力されます。
<input type="text" id="colorInput" value="#3cb371">
そのまま[補色を表示]をクリックすると・・・

#3cb371と、その補色となる#c34c8eが表示されます。

あとは、確認したい色を16進数で入力して・・・

[補色を表示]をクリックするだけです。