金曜日, 7月 04, 2025
木曜日, 7月 03, 2025
写ルンです風撮影道 03
写ルンですのストロボは大光量
写ルンですのストロボは意外と大光量で驚きました。
ガイドナンバーの慶安は以下を参照してください。
連載のメインで利用しているPanasonic LUMIX DMC-GF3の内装ストロボのGNはSO100時に6.3なので、写ルンですのISO400に換算すると約GN10となり、写ルンですの半分でしかありません。
手持ちのデジタルカメラ(含:コンパクトカメラ)14台とも画角が35mm付近を確保できるものの、内蔵ストロボがISO 400時にGN20となるモノはありませんでした。GN24~GN8で、GN20付近で一番近いものはGN18(18.4)でした。だたし、ミラー付きの一眼レフのため「写ルンです」的に撮影する雰囲気ではないのでパスです。
手持ちのストロボ10台のうち、写ルンですのISO400に換算すると,
GN28〜76で、一番小さくて光量が少ないのはSUNPAK auto140で、GNはISO100時に14なので、写ルンですのISO400に換算するとGN28でオーバーになってしまいます。そもそもSUNPAK auto140以外はGF3より大きいので無意味ですね。
市販のストロボで、
ISO400時にGN20の製品には
Sony HVL-F20M GN10
Meike MK-RC7 GN10
ISO400時にGN18の製品には
Olympus FL-LM3 GN9
が、それぞれ1万円ほどリリースされていますが、
この企画(遊び)のために1万円の投資は意味が無いので断念しました。
ラベル:
Camera,
Panasonic LUMIX DMC-GF3,
photo
水曜日, 7月 02, 2025
JavaScriptでAI遊び 53
Illustratorで矩形オブジェクトをランダム分割
選択した矩形オブジェクトをランダムに分割してみます。
#target illustrator
function diagonalRandomSplit() {
var doc = app.activeDocument;
if (doc.selection.length !== 1) {
alert("1つのオブジェクトを選択してください。");
return;
}
var obj = doc.selection[0];
var bounds = obj.geometricBounds;
var width = bounds[2] - bounds[0];
var height = bounds[1] - bounds[3];
var splitCount =
parseInt(prompt("分割数を入力してください(例: 5)", "5"), 10);
if (isNaN(splitCount) || splitCount < 1) {
alert("有効な分割数を入力してください。");
return;
}
var newObjects = [obj];
for (var i = 0; i < splitCount; i++) {
var tempObjects = [];
for (var j = 0; j < newObjects.length; j++) {
var item = newObjects[j];
var itemBounds = item.geometricBounds;
var x1 = itemBounds[0], y1 = itemBounds[1];
var x2 = itemBounds[2], y2 = itemBounds[3];
if ((x2 - x1 > 10) && (y1 - y2 > 10)) {
// 斜めに分割
var randX = x1 + (Math.random() * 0.6 + 0.2) * (x2 - x1);
var randY = y2 + (Math.random() * 0.6 + 0.2) * (y1 - y2);
var newLine = doc.pathItems.add();
newLine.setEntirePath([[x1, y1], [randX, randY]]);
newLine.stroked = true;
newLine.strokeWidth = 1;
tempObjects.push(item);
} else {
tempObjects.push(item);
}
}
newObjects = tempObjects;
}
}
diagonalRandomSplit();
ベースにした矩形
デフォルトの分割数5を実行すると・・・
※ここでの分割数は指定回数ランダムに分割するという意味です。
分割数5の結果
分割数3を実行すると・・・
分割数3の結果
ラベル:
Illustrator,
JavaScript
TCDW8450
やっぱり塩にぎりはシンプルで美味しいですからね
Baby Alien 097
派手なおにぎり坊や(^o^)
ラベル:
3D,
Baby Alien,
modo,
TCDW
火曜日, 7月 01, 2025
デジタル一眼でFull、APS-C、M4/3の画角の関係
FULLサイズ用のレンズをAPS-CやM4/3(マイクロフォーサーズ)にアダプターなどで装着して撮影したときの画角を整理してみました。用意した環境は・・・
SONY α7 II ILCE-7M2(FULLサイズ)
SONY α NEX-6(APS-Cサイズ)
Panasonic LUMIX DMC-GX7MK2(M4/3サイズ)
Ai ZOOM NIKKOR 28-85mm F3.5-4.5
レンズはフィルム時代のズームレンズです。
APS-CとM4/3の焦点距離換算は・・・
各社 APS-C 焦点距離換算
Canonのみ1.6、それ以外のメーカーは1.5
M4/3 焦点距離換算
2.0

SONY α7 II ILCE-7M2(FULLサイズ)
Ai ZOOM NIKKOR 28-85mm F3.5-4.5
28mmで撮影 > 28mmの画角
SONY α NEX-6(APS-Cサイズ)
Ai ZOOM NIKKOR 28-85mm F3.5-4.5
28mmで撮影 > 1.5倍の42mm相当の画角
Panasonic LUMIX DMC-GX7MK2(M4/3サイズ)
Ai ZOOM NIKKOR 28-85mm F3.5-4.5
28mmで撮影 > 2倍の56mm相当の画角
SONY α7 II ILCE-7M2(FULLサイズ)
Ai ZOOM NIKKOR 28-85mm F3.5-4.5
85mmで撮影 > 85mmの画角
SONY α NEX-6(APS-Cサイズ)
Ai ZOOM NIKKOR 28-85mm F3.5-4.5
85mmで撮影 > 1.5倍の128mmの画角
Panasonic LUMIX DMC-GX7MK2(M4/3サイズ)
Ai ZOOM NIKKOR 28-85mm F3.5-4.5
85mmで撮影 > 2倍の170mmの画角
逆にAPS-C用のレンズをFullサイズカメラに装着すると・・・
※実際に28mmまたは85mmのAPS-C用レンズを持ち合わせていないので、以降はイメージとなります。
APS-C用28mmでの撮影結果
APS-C用28mmをFullサイズカメラに装着した状態
APS-C用レンズをFullサイズカメラに装着した場合、APS-Cカメラモードに変更することで撮影は可能ですが、画角は1.5倍になります。もちろん撮影データサイズもAPS-C相当になります。整理すると・・・
Fullサイズ用のレンズをAPS-CやM4/3で使用したときの焦点距離
※Fullサイズ用のレンズをフルサイズカメラでAPS-Cモードで撮影してもAPS-Cレンズと同じ画角になります。
APS-Cサイズ用のレンズをFullやM4/3で使用したときの焦点距離
なお、レンズ交換式のカメラにおいて、レンズのマウント面からイメージセンサー面までの距離のことを指すフランジバックの関係でSONY EマウントカメラへM4/3レンズを装着するアダプターはあります(※)。ただし、他の組み合わせは物理的に無理です。なお、論理的にはNikon Zマウント、FUJIFILM Xマウント、Canon Mマウント用のアダプターは設計可能だと思いますが、販売されているかは不明です。考えてみると、スピードブースター逆のような感じですね。
※ EマウントカメラへM4/3レンズを装着するアダプターはマニュアルレンズ用で、M4/3専用のマニュアルフォーカスができるレンズでもピント合わせは出来ません。
※スピードブースターは、フルサイズ用レンズをAPS-Cやマイクロフォーサーズ機で使用するための光学アダプターで、画角を広げ、F値を約1段明るくする効果があります。より明るく広い映像を得ることができます。
※SONY EマウントカメラへM4/3レンズを装着するアダプターは所有していますが、イレギュラー環境なので、今回の実験から外しました。
主なカメラマウントのフランジバック
※太字は現時点で所有しているカメラのマウント。
これ以上増えない様に注意しています(^o^)
月曜日, 6月 30, 2025
Illustratorの無駄知識26
グラデーションでの立体化は分割が大切
3D機能を使った方が賢明ですが、使わずに立体化させたい場合はグラデーションで逃げ切るのも1つの手です。
適当な波線を作成し、複製を結合してリボン風のイメージを作成しました。このときのグラデーションの設定は分割数がポイントです。
左例では8分割なので100/8でポイント設定する位置を算出します。
あとは、0%、50%100%をそれぞれ指定するだけです。
ここでは黒で設定しています。
カラーリング変更は、アピアランズ等で対処可能です。
ラベル:
Illustrator
日曜日, 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
登録:
投稿 (Atom)