オートシェイプを SDL で読み込む
http://d.hatena.ne.jp/n7shi/20090520/1242814442
こちらのコードを眺めていて気づいたんです。オブジェクトが MemoryStream だったら SDL で表示できるんじゃね?、と。
というわけでやってみました。やってみましたが上手くいきませんでした。
Office のほうでコピーして、pp01 のほうで 左 Ctrl + V すると貼り付けられます。
上手くいっているように見えますが、参照元の id:n7shi さんのほうの
var ms = Clipboard.GetData("Office Drawing Shape Format") as MemoryStream;
これが何故か null になるというマジック。
なんとかならんのかとググった結果、以下のように PNG で取ってきたら取れたわけですがよく分からん。
IDataObject data = Clipboard.GetDataObject(); // クリップボードにあるデータがPNG形式か調べる if (data.GetDataPresent("PNG")) { // PNG形式でデータをMemoryStreamとして取得する MemoryStream ms = (MemoryStream)data.GetData("PNG"); return ms; }
奥が深いぜクリップボード。