iPhoneのSafariからファイルをアップしたときにPHPのTMP_NAMEがなくなる問題

iPhoneのSafariからファイルをアップロードした際にPHPで指定したTMP_NAMEが空になってしまっていることがありました。
この現象について調査したところ、stackoverflowで同様の現象に関する質問がありました。
続きを読む

Raspberry PI 3 + openFrameworksでマウスポインタが動かない時に確認すること

Raspberry PI 3にopenFrameworks(0.9.8)を入れてサンプルプログラムを動かしたのですが、マウスを使って操作するプログラムでマウスポインタが反応しない事象が発生したので、原因を調べてみました。
続きを読む

Raspberry PI 3からHDMI出力されないのを修正する方法

Raspberry PI 3のHDMI出力に4Kディスプレイをつないだ所、起動しても映像が出力されませんでした。
調べた結果、公式のフォーラムに情報がありました
続きを読む

【Mac】Python 3.6.0 で Matplotlib が動かない時にチェックした点

HomebrewでMacにPython 3.6.0を入れて以下のコードでMatplotlibを読み込もうとしたところ

import matplotlib.pyplot as pet

以下のようなエラーが出ました。ちなみに依存しているライブラリは全部インストール済みの状態です。
Traceback (most recent call last):
File "", line 1, in
File "/Users/(ユーザー名)/.pyenv/versions/3.6.0/lib/python3.6/site-packages/matplotlib/pyplot.py", line 115, in
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/Users/(ユーザー名)/.pyenv/versions/3.6.0/lib/python3.6/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
File "/Users/(ユーザー名)/.pyenv/versions/3.6.0/lib/python3.6/site-packages/matplotlib/backends/backend_macosx.py", line 19, in
from matplotlib.backends import _macosx
RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more information on installing Python as a framework on Mac OS X. Please either reinstall Python as a framework, or try one of the other backends. If you are using (Ana)Conda please install python.app and replace the use of 'python' with 'pythonw'. See 'Working with Matplotlib on OSX' in the Matplotlib FAQ for more information.

バックエンドの設定に問題があるということで、以下のコマンドでmatplotlibのバックエンド設定が書かれたファイルのパスを調べ

$python -c "import matplotlib;print(matplotlib.matplotlib_fname())"

エディタで該当箇所を編集しました。macosxとなっているところをコメントアウトまたは削除してTkaggを指定します。

#backend : macosx
backend : Tkagg #←これに書き換える

これで以下のようなグラフを出力できるようになりました。

Elgato Game Capture HD60でMacの画面をビデオ録画する

Elgato Game Capture HD60
openFrameworksで作った映像をキャプチャーするためにElgato Game Capture HD60を導入しました。
続きを読む

openFrameworksでFboのスクリーンショットを保存する方法

openFrameworksでFboのスクリーンショットを保存する方法です。
ofFboをを一旦ofPixelsに変換したのちofImageにするとうまくいくようです。

    ofImage img;
    ofFbo fbo;
    ofPixels pixels;

sキーが押されたらファイルが保存されるようにします。

void ofApp::keyPressed(int key){
    if(key =='s'){
        fbo.readToPixels(pixels);
        img.setFromPixels(pixels);
        char fileNameStr[255];
        string date = ofGetTimestampString();//タイムスタンプをファイル名にする
        sprintf(fileNameStr, "%s.png", date.c_str());
        img.save(fileNameStr,OF_IMAGE_QUALITY_BEST);
    }
}

ofCreateWindowでウィンドウを作った際にGLSL #version 120のShaderを動かすための設定

ofCreateWindowでウィンドウを作った際にGLSLの#version 120が動きませんでした。
setGLVersionの設定を3,2から2,1に書き換えると動きました。

int main( ){
    ofGLWindowSettings s;
    s.setGLVersion(2,1);//ここを2,1にする
    s.width  = 1920;//画面サイズ
    s.height = 1080;//画面サイズ
    ofCreateWindow(s);
    ofRunApp(newofApp());
}

このサイトでも紹介されているように3,2だと#version 150しか動作しません。

ofCreateWindowでつくったウィンドウ内でマウスカーソルを消す方法

openFrameworksのプログラムでofCreateWindowを使ってウィンドウを生成した際にofHideCursor()でマウスカーソルが消えない事象に対する対策です。
Mac OSX Yosemiteで確認しました。

//setup()内に書く
//ofHideCursor(); 効かない
 CGDisplayHideCursor(NULL);//これでカーソルが消える

TrueTypeFontをofVboMeshに変換して表示する方法

openFrameworksでTrueTypeFontをofVboMeshに変換する方法を調べてみました。

フォーラムのこの投稿を参考にしました。
https://forum.openframeworks.cc/t/extrude-text-into-3d/6938/2
続きを読む

openFrameworksとMacBook Pro Retinaでセカンドディスプレイをフルスクリーンにできない現象について

MacBook Pro RetinaでHigh Resolution CapableをYESにしていると、セカンドディスプレイ(外部プロジェクター)でうまくフルスクリーンにできませんでした。

中途半端なところにフルスクリーンウィンドウが表示されてしまいセカンドディスプレイ一杯に表示されません。

最大化ボタンをクリックするとフルスクリーンになるのですが、MacBook側で操作ができなくなってしまうので使えません。
続きを読む