2022/06/05(日) [n年前の日記]
#1 [xlib] Xlibでラスタースクロールっぽい処理
_昨日、
_一昨日
と、Xlib を使って小さい画面(Pixmap)をディスプレイ一杯に拡大して描画できるか試してたけど、小さい画面を対象にして処理するならラスタースクロールっぽい処理もできるかなと思えてきたので試してみた。
環境は、Ubuntu Linux 20.04 LTS。Windows10 x64 21H2 + VMware Player 上で動かしている。
こんな感じになった。
動画の解像度が小さくて見辛いかもしれんけど、画面下半分がチラチラと動いてることぐらいは分かるかなと。元画面は640x360で、ディスプレイ解像度は1440x900。
環境は、Ubuntu Linux 20.04 LTS。Windows10 x64 21H2 + VMware Player 上で動かしている。
こんな感じになった。
動画の解像度が小さくて見辛いかもしれんけど、画面下半分がチラチラと動いてることぐらいは分かるかなと。元画面は640x360で、ディスプレイ解像度は1440x900。
◎ ソース。 :
ソースと使用画像は以下。
_08rasterscroll.c
_bg03.xpm.txt
コンパイルは以下。
実行は以下。
ラスタースクロールと言っても、あくまでモドキで…。画面の下半分は、元画像を参照する際のx座標をcos()で変化させて、縦幅1ドットずつ、Pixmap から Pixmap にコピーしてるだけ。
元画像は、640x360の左右に32ドットずつ足して、704x360で作成。左右にcos()で揺らして描画するので、横640ドットぴったりで作ってしまうと描画されない部分が出てきてしまう。左右に少しだけ絵を追加しておかないといけない。
_08rasterscroll.c
_bg03.xpm.txt
コンパイルは以下。
gcc 08rasterscroll.c -o 08rasterscroll -I /usr/include/X11 -lX11 -lXext -lm -lXpm
実行は以下。
./08rasterscroll
ラスタースクロールと言っても、あくまでモドキで…。画面の下半分は、元画像を参照する際のx座標をcos()で変化させて、縦幅1ドットずつ、Pixmap から Pixmap にコピーしてるだけ。
元画像は、640x360の左右に32ドットずつ足して、704x360で作成。左右にcos()で揺らして描画するので、横640ドットぴったりで作ってしまうと描画されない部分が出てきてしまう。左右に少しだけ絵を追加しておかないといけない。
[ ツッコむ ]
#2 [linux][windows] pecoの代わりにfzyを使ってみた
Windows10 x64 21H2 + MSYS2上で peco を使おうとしたけれど動いてくれなかった。ググってみたら MSYS2上で(というか mintty上で?) peco は動かないらしい。ただ、peco の代わりに fzy というツールが使えるという話を見かけたので導入してみた。
余談。pecoについては以下でメモしてあった。
_mieki256's diary - pecoを導入してみた
余談。pecoについては以下でメモしてあった。
_mieki256's diary - pecoを導入してみた
◎ 使い方。 :
- pcd add . : カレントディレクトリを登録リストに追加。
- pcd edit : 登録リストファイルを編集。
- pcd : 登録リストからインクリメンタルサーチで絞り込んでディレクトリ移動。
- cdp : カレントディレクトリ内からインクリメンタルサーチで絞り込んでディレクトリ移動。
◎ インストール。 :
pacman -S fzy
$ fzy --version fzy 1.0 (C) 2014-2018 John Hawthorn
◎ pcdをインストール。 :
pcd を使えば、自分で登録したディレクトリリストをインクリメンタルサーチで絞り込んでディレクトリ移動ができる。
登録リストファイル、~/.peco/.peco-cd ファイルを作成。
~/.bash_pcd を作成。以下を記述。
~/.bashrc に以下を追記。~/.bash_pcd が存在していたら読み込むようにする。
source ~/.bashrc で反映。
登録リストファイル、~/.peco/.peco-cd ファイルを作成。
mkdir ~/.peco touch ~/.peco/.peco-cd
~/.bash_pcd を作成。以下を記述。
- peco を呼び出している場所で fzy を呼ぶように変更。
- pcd edit と打った際は nanoエディタを呼び出すように変更。
function pcd() { local PCD_FILE=$HOME/.peco/.peco-cd local PCD_RETURN if [ $1 ] && [ $1 = "add" ]; then if [ $2 ]; then ADD_DIR=$2 if [ $2 = "." ]; then ADD_DIR=$(pwd) fi echo "add $ADD_DIR to $PCD_FILE" echo $ADD_DIR >> $PCD_FILE fi elif [ $1 ] && [ $1 = "edit" ]; then if [ $EDITOR ]; then $EDITOR $PCD_FILE else # editor $PCD_FILE nano $PCD_FILE fi elif [ $1 ] && [ $1 = "." ]; then PCD_RETURN=$(/bin/ls -F | grep /$ | fzy -l 20) else PCD_RETURN=$(cat $PCD_FILE | fzy -l 20) fi if [ $PCD_RETURN ]; then cd $PCD_RETURN fi } function cdp { local dir="$( find . -maxdepth 1 -type d | sed -e 's;\./;;' | sort | fzy -l 20 )" if [ ! -z "$dir" ] ; then cd "$dir" fi }
~/.bashrc に以下を追記。~/.bash_pcd が存在していたら読み込むようにする。
if [ -f "${HOME}/.bash_pcd" ]; then source "${HOME}/.bash_pcd" fi
source ~/.bashrc で反映。
◎ 参考ページ。 :
[ ツッコむ ]
#3 [zatta] ユニクロで買い物をして驚いた
ユニクロに寄ってTシャツを買ってきたのだけど、初めてセルフレジを使ってみて驚いてしまった。商品を指定の場所に置いただけで、何点置かれてるか、何が置かれてるかが自動で液晶画面に出てきて、「えっ。なんで?」と。これどうやってるんだ…。バーコードをあらゆる方向から読み取ってるんだろうか。いや、でも、バーコードが必ず見えるような状態で置いてなかったと思うけど…。もしかして、魔法…?
夕食時にその話をしたところ、妹曰く「ICタグが導入されてる」「特許絡みで裁判になってた」とのことで。
_ユニクロの「レジ待ち行列」を解消したRFIDタグの威力 | Agenda note (アジェンダノート)
_ユニクロだからできるRFIDタグの破壊力 | GASKET
_ユニクロを特許侵害で訴えた下請け社長語る「ゼロ円でライセンスを要求された」 | Close-Up Enterprise | ダイヤモンド・オンライン
_ユニクロのセルフレジ特許権侵害訴訟を現状整理する 知財高裁で勝っても戦況が明るくない理由(1/2 ページ) - ITmedia NEWS
_ユニクロのセルフレジ特許侵害訴訟、和解へ 互いに訴訟・請求を取り下げ - ITmedia NEWS
_RFID - Wikipedia
RFID/RFIDタグなる技術があるのか…。ゴミ箱に捨ててしまったタグを発掘して光に透かしてみたら、たしかに何かが中に入ってた。スゴイな…。「今頃知ったのかよ」と笑われそうだけど、勉強になりました。あまりに驚いてしまったので、こうしてメモ。
夕食時にその話をしたところ、妹曰く「ICタグが導入されてる」「特許絡みで裁判になってた」とのことで。
_ユニクロの「レジ待ち行列」を解消したRFIDタグの威力 | Agenda note (アジェンダノート)
_ユニクロだからできるRFIDタグの破壊力 | GASKET
_ユニクロを特許侵害で訴えた下請け社長語る「ゼロ円でライセンスを要求された」 | Close-Up Enterprise | ダイヤモンド・オンライン
_ユニクロのセルフレジ特許権侵害訴訟を現状整理する 知財高裁で勝っても戦況が明るくない理由(1/2 ページ) - ITmedia NEWS
_ユニクロのセルフレジ特許侵害訴訟、和解へ 互いに訴訟・請求を取り下げ - ITmedia NEWS
_RFID - Wikipedia
RFID/RFIDタグなる技術があるのか…。ゴミ箱に捨ててしまったタグを発掘して光に透かしてみたら、たしかに何かが中に入ってた。スゴイな…。「今頃知ったのかよ」と笑われそうだけど、勉強になりました。あまりに驚いてしまったので、こうしてメモ。
[ ツッコむ ]
以上、1 日分です。