特集「ヨモヤマビルド」

カテゴリ一覧

Webサービスで画像転送-2

前回WebサービスでHTTP GETで画像を取得するコードを実装し、IEから取得できることを確認しました。

ではWebアプリ(C#)から画像を取得するコードを書いてみます。

.NET Framework4.5で使用できるHttpClientクラスを使うことにします。
URIは、VS.NET for Webのデバックモードなのでlocalhost:xxxxで接続しています。GET処理でHTTPのレスポンスオブジェクトを取得し、レスポンスがあった場合に処理をしています。繰り返しデータを取得するならばHttpResponseMessage response …の前にwhileループを記述してください。次にDynamicJsonを使ってjson形式のデータをパースしてbase64形式のデータを作成します。そのデータをデコードしてバイナリデータに変換します。データは8bitモノクロ画像だと予め分かっているのでWindows Bitmapオブジェクトを生成し、ヘッダ情報を整えてデータをセットします(Bitmap8クラスの説明は割愛)。最後にFormのPictureBoxにセットして画面表示しています。

 

HttpClient client = new HttpClient();

client.BaseAddress = new Uri(“http://localhost:3683/”);

// アクセプト設定
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(“application/json”));
// GET処理
HttpResponseMessage response = await client.GetAsync(“api/ImageTransfer”);

// レスポンスがあった場合
if (response.IsSuccessStatusCode) {
// データ取得
string content = response.Content.ReadAsStringAsync().Result;
// Json変換
dynamic JsonValues = DynamicJson.Parse(content);

byte[] data = null;

foreach (var value in JsonValues) {
string base64Data = (string)value.Base64Data;
data = Convert.FromBase64String(base64Data);
}

Bitmap8 bitmap8 = new Bitmap8();
bitmap8.width = IMAGE_LENGTH;
bitmap8.height = IMAGE_LENGTH;
Bitmap bitmap;

bitmap8.WriteBitmapData(data, out bitmap);
bitmap8 = null;
data = null;

if (_form._form1.pictureBox1.Image != null) {
_form._form1.pictureBox1.Image.Dispose();
}
_form._form1.pictureBox1.Image = bitmap;
} else {
;
}
// レスポンスクリア
response.Dispose();

 

このような感じで実装すればWebサービスから画像データを取得することができます。

またGETの特性としてデータ容量の問題があるのでPOSTも実装したいと思います。次回はPOSTのWEBサービス側をレポートします。

Mendixご紹介セミナー開催のお知らせ

株式会社ビルドシステムは、この度Mendix社と日本初のパートナー契約を締結し、デジタルイノベーションプラットフォーム「Mendix App Platform」の取り扱いを開始いたしました。新商品のご紹介を兼ねてセミナーを開催いたしますので、ご案内申し上げます。 

Mendix App Platform」は、従来の高速開発ツールを超えて、ビジネスを変革する様々なアイデアを最新の情報技術を利用して実現できるデジタルイノベーションプラットフォームと言える製品です。

デモンストレーションを交えながら解りやすくご説明させていただく予定ですので、

この機会に是非ご参加くださいますようお願い申し上げます。

 

 満員御礼につき、参加受付は締め切らせていただきました。

沢山のお申込み、まことにありがとうございました。

Mendixについてご説明をご希望の方は、当社までお問い合わせ下さい。

btn_contact02

 

デジタルイノベーションプラットフォームMendixご紹介セミナー

【日程】2016年7月27日(水)

 

【時間】15時00分開場、15時30分開始 18時終了予定 (第1部~第2部)

 

【開催場所】ミヤケインダストリー 第一・第二会議室 【Map】

東京都新宿区愛住町6 電話 03-3355-5515

丸ノ内線 四谷三丁目駅2番出口徒歩1分/新宿線 曙橋駅A1出口 徒歩7分

 

【セミナープログラム】

【第1部】
15:30~16:45
(開場:15:00~)
・ご挨拶・Mendixとは

・Mendixライセンスの考え方

・当社の取り組み

・質疑応答

【第2部】
17:00~18:00
(受付:16:30~ 開場:16:45~)
・Mendix基本機能と活用デモ・Mendix7について

・質疑応答

 

申し込みにつきましては、メールフォームにて受け付けております。
参加ご希望の方は下記フォームにてお申し込みください。
申込みフォームはコチラ
  定員を超えたため、受け付けは終了致しました

Mendixについてご説明をご希望の方は、当社までお問い合わせ下さい。

btn_contact02

 

詳細は下記PDFパンフレットをご参照ください
Mendixご紹介セミナーご案内

 

ふくめん算を解いてみよう

こんにちは。ビルドシステムの平田です。
今回は皆さんに、パズルの世界に浸っていただこうと思います。

 

皆さんは「ふくめん算」というものをご存知ですか?
「虫くい算」と並んでその起源は1世紀以上も遡る、昔からある数学パズルです。
(さらに…)

TOPに戻る