掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
memorystreamを文字列として変数等に入れたい (ID:152068)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ほとんど何をどうしたいのか理解ができていませんが, > cellからbase64を読み込む→bitmapに戻す。 以下のようなことをしたいのでしょうか ? 説明には「変数として」とありますが, 変数として扱うのあれば TMemoryStream のままでいいような気がします. ( Objects プロパティ使用 ). const // 16x16, 16色のビットマップ画像の例 Base64_Text : AnsiString = 'Qk32AAAAAAAAAHYAAAAoAAAAEAAAABAAAAABAAQAAAAAAIAAAAAAAAAAAAAAABAAAAAAAAAA////' + 'AN7e3gCzs7MA8rwAAD3I/wBwu9EAZ6zAABho4gAkEugAVlZOABQZSwAkMDMAHhcAAAAAAAD//wAA' + '////AF3ZVVW1VVVVXXfXW91VVVVddHvdPdVVVV10mZAz1VVVVdmZAAPVVVVV2ZAAANVVVVW5AAAA' + 'DVVVW9MAAAAA1VVd0zAAAiAdVVXdzAACIA1VVVVV0AIgCNVVVVVdAACI1VVVVVXbCIjVVVVVVVra' + 'iKVVVVVVVVbd1VVVVVVVVVVV'; //============================================================================= // リソースから読み出すのではなく // コード内にオブジェクトを文字列として埋め込んで使用する 1 つの例 // あらかじめ EncodeBase64 関数で Base64 の文字列を作成して使用する // // uses に Soap.EncdDecd が必要 //============================================================================= procedure TForm1.Button1Click(Sender: TObject); var LMemStream : TMemoryStream; LByteArray : TBytes; LBitmap : TBitmap; begin LMemStream := TMemoryStream.Create; LBitmap := TBitmap.Create; try LByteArray := DecodeBase64(Base64_Text); LMemStream.Write(LByteArray[0], Length(LByteArray)); LMemStream.Position := 0; LBitmap.LoadFromStream(LMemStream); Image1.Canvas.StretchDraw(Image1.ClientRect, LBitmap); finally FreeAndNil(LMemStream); FreeAndNil(LBitmap); end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.