月曜日, 6月 30, 2025
日曜日, 6月 29, 2025
Let's start JavaScript 73
HTML上で指定画像をモノカラー表示
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: 10px;
background-color: black;
color: white;
}
canvas {
background: black;
display: block;
margin: 10px auto;
}
</style>
</head>
<body>
<h3>選択した画像をモノカラーに変換</h3>
<input type="file" id="imageInput"
accept="image/*"><br><br>
<label for="colorPicker">変換する色:</label>
<input type="color" id="colorPicker"
value="#ff0000"> 
<button onclick="convertImage()">作成</button>
<br><br>
<canvas id="canvas"></canvas>
<script>
const fileInput =
document.getElementById("imageInput");
const colorPicker =
document.getElementById("colorPicker");
const canvas =
document.getElementById("canvas");
const ctx = canvas.getContext("2d");
let img = new Image();
// 画像を選択
fileInput.addEventListener("change", (event) => {
const file = event.target.files[0];
if (file) {
const reader = new FileReader();
reader.onload = function(e) {
img.src = e.target.result;
img.onload = () => {
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0);
};
};
reader.readAsDataURL(file);
}
});
function convertImage() {
if (!img.src) return;
ctx.drawImage(img, 0, 0);
const imageData =
ctx.getImageData(0, 0, canvas.width, canvas.height);
const data = imageData.data;
const selectedColor = hexToRgb(colorPicker.value);
for (let i = 0; i < data.length; i += 4) {
let gray = (data[i] + data[i + 1] + data[i + 2]) / 3;
if (gray < 128) {
data[i] = selectedColor.r;
data[i + 1] = selectedColor.g;
data[i + 2] = selectedColor.b;
} else {
data[i] = data[i + 1] = data[i + 2] = 255; // 白
}
}
ctx.putImageData(imageData, 0, 0);
}
function hexToRgb(hex) {
let r = parseInt(hex.substring(1, 3), 16);
let g = parseInt(hex.substring(3, 5), 16);
let b = parseInt(hex.substring(5, 7), 16);
return { r, g, b };
}
</script>
</body>
</html>
実行したら、処理したい画像ファイルを選択します。
ファイルを表示したら[変換する色]を設定して[作成]クリックすると・・・
指定色と白のモノカラーになります。
処理後でも[変換する色]を再指定して[作成]クリックすると・・・
処理結果に反映されます。
ラベル:
HTML,
JavaScript
土曜日, 6月 28, 2025
modoローポリモデリング 57
カボチャ形状の作り方はベベルがベース
カボチャ形状の作り方は円柱とベベル処理がベースです。
まず六角柱を作成します。七角柱でも八角柱でも大丈夫です。
次に六角柱の側面を選択し、グループ解除してベベル設定を行います。
続けてベベルで引き伸ばしは面の上のエッジを選択して拡大します。
ここでY軸をセンター合わせ設定として中心のポリゴンをベベルで縮小コピーします。
これをもう一度繰り返し・・・
内側へ凹まします。
再度ベベルで引き伸ばしは面の上のエッジを選択して拡大します。
ここで、側面を全選択して[編集]>[ループスライス]にて[カウント:1]を実行します。
続けて追加されたエッジを選択し、若干拡大させます。
ここで[サブディビジョンへ変換(Tab)]で丸め込んでから・・・
微調整を行います。
一番注意すべきは高さの調整です。どうしても扁平になってしまうので・・・
高さ調整すれば・・・
いい感じのカボチャ(ピーマン?)形状を得られます。後はこれをベースに求める形状に調整ですね。
ラベル:
3D,
modo,
modo_Low_Polygon
TCDW8446
本当に何もないので、時々考え事したりしています
Baby Alien 096
座布団星人(^o^)
ラベル:
3D,
Baby Alien,
modo,
TCDW
金曜日, 6月 27, 2025
Illustratorでの作図基本 22
アンカーポイントツールはグリッドで決める
アンカーポイントツールはグリッドを活用すると製図のように処理出来ます。
50mm4分割のグリッドを設定し、塗りなしで5×4マスの矩形を作成します。結果として62.5×50mmの矩形になります。グリッドにスナップにチェックを入れれば正確に描画出来ます。これも元にゴミ箱を作図してみます。
最初にアンカーポイントツールで上図のように線の中心を1マス引き上げます。
同様にアンカーポイントツールで上図のように線の中心を1マス引き下げます。
こうして出来たハンドのを摘まんで上図のように1マス垂直位置に移動させます。
これを4箇所全て行うと、いい感じになります。次に4マス分の塗り無しの直線を描画し・・・
先ほどと同じようにアンカーポイントツールで上図のように線の中心を1マス引き下げ・・・
こうして出来たハンドのを摘まんで上図のように1マス垂直位置に移動させます。
これを上図のようにスナップさせれば正確な4:1.5の綺麗な楕円を得ることが出来ます。
あとは全体を選択して[パスファインダー]>[分割]後にグラデーションを設定すれば上図のようになります。
ラベル:
Illustrator
TCDW8445
文化庁がローマ字表記をヘボン式を基本とする見直し
文化庁がローマ字表記をヘボン式を基本とする見直しを行うそうですね。やっとか〜という感じです。訓令式は大嫌いでした。だからローマ字変換が嫌いだったんですよ〜(※)。そもそも訓令式だと読めないですからね。今回の見直しで私の名前「かいづ」も"KAIDU"ではなくて”KAIZU”になるようです。
※数年前に授業の関係で変更し、今はローマ字変換です。もちろんヘボン式での変換です。
ラベル:
illustration,
Photoshop,
TCDW
木曜日, 6月 26, 2025
引き伸ばしレンズ遊び 01
EL レンズはフード死守
「大昔のEL-NIKKORで撮影してみました」3回分も含めてリニューアルの連載としました。ELとは"Enlarger Lens"の略です。
今回はフードの話。引き伸ばしレンズは通常の撮影を考慮していないのでフレア・ゴーストが出やすくなります。
フードを付けないと順光(※)でもフレア・ゴーストが強烈に出てしまいます。
※被写体の正面から光が当たる状態のこと。反対が逆光。
SONY α NEX-6
EL-NIKKOR 80mm F5.6
そこで、黒いラシャ紙などでフードをしっかり作成しましたが、ラフな工作でも問題ないです。
手作りフード
市販フード
EL-NIKKOR 80mm F5.6
39-42mm 変換リング
7mm+14mmマクロチューブアダプタ
12〜19mmヘリコイドアダプタ
25.7mmマウントアダプタ
Panasonic LUMIX DMC-G3
LUMIX G VARIO 14-42mm/F3.5-5.6 ASPH
ストロボ発光
なお、ファインダーを上の様にならないようにフードの長さを調整します。なお、上はイメージです。
ラベル:
Camera,
EL-Lens,
SONY α NEX-6
TCDW8444
4月から6月が我が家では台湾パイナップル祭り
なんだか、今年は台湾パイナップルが店頭で少なくて高いのが気になります。品薄なのかな? 昨年は4月から6月が我が家では台湾パイナップル祭りだったのですが・・・。米が高くてパイナップルまで手が届かない・・・(>_<)
ラベル:
illustration,
Photoshop,
TCDW
水曜日, 6月 25, 2025
Excel VBA 46
Excelで選択したエリアを一行おきに選択
Excelで選択したエリアを一行おきに選択し、色を設定します。
デフォルト環境で設定するのが面倒くさいので作成して見ました。
Sub SelectAlternateRowsWithinSelection()
Dim rng As Range
Dim rowRange As Range
Dim newSelection As Range
Dim rowIndex As Integer
' 選択範囲を取得
On Error Resume Next
Set rng = Selection
On Error GoTo 0
' 範囲が選択されていない場合、エラーを表示
If rng Is Nothing Then
MsgBox "セル範囲を選択してください。", _
vbExclamation, "エラー"
Exit Sub
End If
' 選択範囲の1行おきの行を取得
For rowIndex = 1 To rng.Rows.Count Step 2
Set rowRange = rng.Rows(rowIndex)
If newSelection Is Nothing Then
Set newSelection = rowRange
Else
Set newSelection = Union(newSelection, rowRange)
End If
Next rowIndex
' 選択を適用
If Not newSelection Is Nothing Then
newSelection.Select
End If
MsgBox "選択範囲内の1行おきの行を選択しました!", _
vbInformation, "完了"
End Sub
エリアを選択し・・・
実行すると1行おきに選択した状態になるので・・・
カラーパレットで任意の色を設定。
シンプルな動きの方が応用が利きますね。
ラベル:
Excel,
VBA,
Visual Basic
登録:
投稿 (Atom)













































