土曜日, 9月 30, 2023

Let's start JavaScript 16 
Webでパラパラ漫画風アニメーション

今回は唐突にパラパラ漫画風アニメーションを作成してみました。

上はパラパラ漫画用に用意した8枚のイラスト。
※背景色を梨のPNGファイルにした方が良かったですね(反省)。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- ※viewportの設定可能要素 -->
<title>パラパラ漫画ページ</title>
<style>
body {
overflow: hidden; /* ページ外の要素を表示しない */
background-color: #fcfca7; /* ページ背景色を設定 */
}

/* スライドショーのコンテナのスタイル */
.para-container {
position: relative;
max-width: 283px; /* スライドショーの幅を調整 */
/* 今回作成した画像は幅も高さも283px */
margin: 0 auto;
}

/* 画像のスタイル */
.paraSlides {
display: none; /* 最初は画像を非表示に */
}
</style>
</head>
<body>
<div class="para-container">
<!-- 画像を追加。ここでは8枚利用 -->
<div class="paraSlides">
<img src="links/frame1.jpg" alt="画像1">
</div>
<div class="paraSlides">
<img src="links/frame2.jpg" alt="画像2">
</div>
<div class="paraSlides">
<img src="links/frame3.jpg" alt="画像3">
</div>
<div class="paraSlides">
<img src="links/frame4.jpg" alt="画像4">
</div>
<div class="paraSlides">
<img src="links/frame5.jpg" alt="画像5">
</div>
<div class="paraSlides">
<img src="links/frame6.jpg" alt="画像6">
</div>
<div class="paraSlides">
<img src="links/frame7.jpg" alt="画像7">
</div>
<div class="paraSlides">
<img src="links/frame8.jpg" alt="画像8">
</div>
</div>

<script>
// スライドショーの設定
var slideIndex = 0;
showSlides();

function showSlides() {
var i;
var slides = document.getElementsByClassName("paraSlides");

// すべての画像を非表示にする
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}

// 次の画像を表示
slideIndex++;
if (slideIndex > slides.length) {
slideIndex = 1;
}
slides[slideIndex - 1].style.display = "block";

// 0.2秒ごとに次の画像を表示
setTimeout(showSlides, 200);
            // 200ミリ秒(0.2秒)ごとに切り替える場合
            // 1秒なら1000ミリ秒
}
</script>
</body>
</html>

viewportの設定可能要素
width=device-widthで、表示領域の幅を端末画面の幅に合わせる。
initial-scale=1は初期のズーム倍率。
これらの設定で、どのデバイスでも表示領域が合い、
width(横幅)
device-widthを指定すると、端末の幅に合わせる。
最小幅をmin-width、最大幅をmax-widthで指定。

height(縦幅)
initial-scaleは、ページロードした時の倍率を指す。
minimum-scale〜maximum-scaleで指定可能。
デフォルトは表示領域にページがフィットするよう、
自動算出される。
initial-scaleを指定しない場合は、initial-scale=1。

maximum-scale(最大倍率)
minimum-scale(最小倍率)
maximum-scaleは最大拡大倍率、minimum-scaleは最小縮小倍率。
デフォルト値は
maximum-scaleは5.0、minimum-scaleは0.25。

user-scalable (ズーム操作の可否)
user-scalableは、ユーザーがズームできるかの指定要素。
デフォルトはuser-scalable=yes。
yesで許可、no(または0)でズームができないように指定。

画像は上の様にループする展開で用意しています。



Chromeでの表示結果

TCDW7810 
新製品をゲットしてしまう煩悩との戦いの日々

筆記具をそろそろ整理したいと四六時中考えている側から、目移りする新製品をゲットしてしまう煩悩との戦いの日々。でも、よく使うのは数本なんですよね〜

金曜日, 9月 29, 2023

Wings3Dでモデリング 12 
ブリッジとリフトの組み合わせ

リフト機能は意外と重宝します。ブリッジとの組み合わせで可能性の広がります。

Windows、macOS、Linuxに対応しています。

この連載は以下を参照してください。

Wings3Dのブリッジはベースとなるオブジェクトを2つ用意し、ブリッジしたい面を選択して右クリックし・・・

[ブリッジ]を選択すれば・・・

ブリッジ完了です。

リフトの場合は、処理したい面を選択して右クリックし・・・

[リフト]を選択してから・・・

起点となる辺をクリックしてから引き出したい辺を右クリックして引き延ばします。

これを繰り返すと有機的なイメージを作ることも出来ます。

最後の面を選択して右クリックし[押し出し(採取)]をクリックし・・・

[法線方向]を選べば・・・

面だけが同じ方向にコピーされるので、続けて右クリックで・・・

[押し出し]をクリックし[法線方向]を選べば・・・

同じかノドの円柱を作成出来ます。

ブリッジしたい面を選択して右クリックし・・・

[ブリッジ]を選択すれば・・・

こんな感じに展開できます。

Wings3D 2.2.9(macOS)

TCDW7809 
日の入りが早くなったのに、気温は真夏モード

日の入りが早くなったのに、気温は真夏モード。脳内が色々勘違いしますね。お節料理の話が9月から出るなど季節感は既に崩壊しているので、どうでも良いのかもですね〜

木曜日, 9月 28, 2023

Illustratorのパターンをコピー&ペーストする際の前処理

質問がありましたので・・・
Illustratorのパターンをコピー&ペーストしてPhotosjopにペーストしたりする際の前処理を整理しました。
取りあえずパターンを作成。

作成したパターンを塗り潰し指定した状態です。これをPhotoshopに配置したいのであれば、Illustrator上で・・・
    [オブジェクト]>[ラスタライズ]
にてラスタライズし、
    [ファイル]>[書き出し]>[書き出し形式]
で任意形式で書き出してからPhotoshopで読み込めばOKです。

しかし、直接コピー&ペーストにてPhotosjopにペーストすると解像度に関係なくパターンの繋ぎめげ出てしまいます。

そんな手順の場合は・・・
Illustrator上でパターン展開したオブジェクトを選択し・・・
    [オブジェクト]>[分割拡張]
[塗り]を選択した[OK]をクリックします。

この状態でパターンは上の様な構造になります。このままでは筋は残ってしまうので、続けて・・・
    [オブジェクト]>[ラスタライズ]
にてラスタライズし、
    [ウインドウ]>[パスファインダー]>[合流]
を実行すると・・・

完全なシームレスになります。これで繋ぎ目は消えますがパスの塊になることを覚悟です。このままコピー&ペーストしてPhotosjopにペーストすれば・・・

解像度に関係なく繋ぎ目は発生しません。

TCDW7808 
半端ない露出系ファッションだったのです

耳なのか角なのか解らないエイリアン。まっ解ったからって何?ですね(^o^)汗。そう言えば先日、そこそこ混んでいる地下鉄内で、唯一空いている座席が・・・。見れば両脇に座っている女性が半端ない露出系ファッションだったのです。怖くて座れないですね。

水曜日, 9月 27, 2023

ヤスリの目掃除は消しゴムがイイ

木工ヤスリを使っていて困るのは目詰まりです。専用の道具もありますが高いので消しゴムを使うとイイです。

使用前の状態。

作業後の状態。

用意するのはプラスチック系の消しゴム。高い製品である必要はありません。

使い方は、とにかく目詰まり部分を消しゴムでこするだけです。上は処理後の状態です。もちろん紙やすりでもOKです。

TCDW7807 
出来ればこの残酷な現実を逃避したいですね〜

ソロソロ10月の足音ですね。つまり今年も3/4が終わろうとしているわけです。出来ればこの残酷な現実を逃避したいですね〜。まっ、逃避したって何も変わりませんが・・・(^o^)汗

火曜日, 9月 26, 2023

Excel VBA 23 
マクロの記録はショートカットで宝の山

マクロをタイピングしなくても「マクロの記録」で生成されたソースを、そのままショートカットで利用するだけでも超便利です。例えば、実際に私が利用しているマクロとして・・・

住所データから都道府県とそれ以外を抜き出して整理します。
C2セルは
=IF(MID(B2,4,1)="県",LEFT(B2,4),LEFT(B2,3))

D2セルは
=IF(MID(B2,4,1)="県",MID(B2,5,LEN(B2)-4),MID(B2,4,LEN(B2)-3))

あとはフィルするだけです。


上は処理結果です。ここで元になったB列を削除するとC列D列のデータはエラーにってしまいます。

そこで数式を値に変換するのですが、これをマクロの記録で作成します。

Sub Macro1()
' Macro1 Macro
' Range("C2:D21").Select
Selection.Copy
Selection.PasteSpecial Paste :=xlPasteValues, Operation _
        :=xlNone, SkipBlanks :=False, Transpose:=False
End Sub

上がマクロの記録で生成されたマクロです。_はソースの改行マークです。
※ソースの表示を少し整理しています。

完成したマクロは選択したセルに対しての処理なので、ソース中・・・
Range("C2:D21").Select
の部分は汎用処理には不適切なので削除します。
下が最終的なマクロのソースです。

Sub Macro1()
' コピー&値ペースト
Selection.Copy
Selection.PasteSpecial Paste :=xlPasteValues, Operation _
        :=xlNone, SkipBlanks :=False, Transpose:=False
End Sub

これで処理したいセルを選択し、マクロを実行すれば・・・

数式は値に変換されます。

TCDW7806 
思い出がzip圧縮されているように凝縮されていて

学生の頃の思い出は、人生の中ではほんの一瞬とでもいう数年間。にもかかわらず、思い出がzip圧縮されているように凝縮されていて時々夢を見ます。今はエピソード15ぐらいかな(^o^)

月曜日, 9月 25, 2023

Photoshopのシェープ書き出しはIllustratorより便利

以前の質問の追加ネタです。
Illustratorで楕円を一周する図形の処理は、Photoshopのシェープで処理した方が良いかもしれません。以下を参照してください。

【NEXMAG】Photoshop 多角形ツールでギザギザのシェイプを作る 2022/07/05

シェープ設定で多角形シェープえ適当に設定します。

上は処理結果です。

ここで、ペンツールを選び、何もない部分を右クリックして表示されるメニューで[カスタムシェープを定義]にてシェープとして登録できますが・・・

[ファイル]>[書き出し]>[Illustratorへのパス書き出し]でIllustratorファイルとして書き出せます。

[アートボードに変換]パレットは取りあえずデフォルトでいいでしょう。

書き出したファイルをIllustratorで読み込むと塗りも線も無しなのでびっくりしないように・・・。