喫茶XRAYトップページ

[スレッド全体
]

[4339] バーコード関係か返信 削除
2011/2/28 (月) 11:27:54 Mr.XRAY
この喫茶で過去のスレッドに,こんなのがあったようです.
参考までに.

QRコード表示コンポーネント TQRCode
http://mrxray.on.coocan.jp/bbs/DelphiBBS/mrxray_delphifan_coffe.cgi?tree=s3647#3647

印刷プレビューコンポでバーコード印刷
http://mrxray.on.coocan.jp/bbs/DelphiBBS/mrxray_delphifan_coffe.cgi?tree=s325#325


[4351] Re:バーコード関係か返信 削除
2011/3/1 (火) 16:36:11 白猫
▼ Mr.XRAYさん
 
> 印刷プレビューコンポでバーコード印刷
> http://mrxray.on.coocan.jp/bbs/DelphiBBS/mrxray_delphifan_coffe.cgi?tree=s325#325


見させていただきました。上記のやり方は、私のと、にてます。
いいとこどり、させていただきます。

ありがとう、ございます。

[4359] ちょっと話題にあがったので、お邪魔します。返信 削除
2011/3/2 (水) 11:59:56 KSC 〔HomePage
KSCです。

> 印刷プレビューコンポでバーコード印刷
> http://mrxray.on.coocan.jp/bbs/DelphiBBS/mrxray_delphifan_coffe.cgi?tree=s325#325


現在、QRコードコンポは、M&Iさんの「QR2コード描画ユニット for Delphi 2010/9/4」
(QR2Code(Ver, Err, Size: integer; Data: string; Image: TImage)にて)
を利用させて頂き、描画しています。

添付画像の左上にあるソフトを作っています。
(小さくてすいません。デザインが社内で使用しているものなので...)

で、この場を借りてM&Iさんに質問なのですが、
添付画像の左下の「セルサイズ」なのですが、このサイズをあげたいのですが、
この値を変化させれるパラメーターは、存在しますか?

教えて頂けないでしょうか?

上記のプロシージャ「QR2Code」の「Size」かなと思い、値を変更させたのですが
変化しなかったものですから?

なにとぞアドバイスを。

[4368] Re:ちょっと話題にあがったので、お邪魔します。返信 削除
2011/3/3 (木) 19:36:58 M&I
M&Iです。

> 上記のプロシージャ「QR2Code」の「Size」かなと思い、値を変更させたのですが
> 変化しなかったものですから?


SizeでImageに書きこむ大きさを変えることが出来ます(のはずです(^^;)。
QR2Unitのアーカイブに含まれるサンプルプロジェクトProject1.dprで確認
してみてください。

#seizoさんのコンポーネントTQRCodeの方が使いやすいと思いまので、一度
#試してみてはいかがでしょうか。
http://www.vector.co.jp/soft/win95/writing/se359398.html
#私のユニットはCソースコードをObjファイル化してリンクしていますが、
#seizoさんのものはCソースコードを全てDelphiに移植していますので、
#必要に応じたカスタマイズが容易です。


[4369] 大変申し訳ありませんでした。返信 削除
2011/3/3 (木) 20:41:14 KSC 〔HomePage
KSCです。

> M&Iです。

すごいソフト作る人から返信をもらえるって ... 光栄です!

あっ、マスターの事も尊敬しています!!

> SizeでImageに書きこむ大きさを変えることが出来ます(のはずです(^^;)。
> QR2Unitのアーカイブに含まれるサンプルプロジェクトProject1.dprで確認
> してみてください。


すいませんでした。
私のミスでした。直す箇所を1箇所わすれていました。
Sizeを2→3に変更する事でセルサイズが大きくなりました。
おかげで今まで複合機で印刷した際にセルが潰れていたのが無くなり、
読み取り機でも問題なく読取れるようになりました。

ちなみにSizeの値が3以上と言うのは設定できないのでしょうか?
または3以上を設定してもQR仕様上、問題があるのでしょうか?

> #seizoさんのコンポーネントTQRCodeの方が使いやすいと思いまので、一度
> #試してみてはいかがでしょうか。


TQRCodeに関しても試そうかと思ったのですが、
「QR2コード描画ユニット for Delphi」の方が簡単に利用できたので...。

時間ができたらTQRCodeも試してみようと思います。

本当にありがとうございました。
(業務上の問題点が1つクリアー出来ました。)

[4370] Re:大変申し訳ありませんでした。返信 削除
2011/3/3 (木) 21:01:59 M&I
> すごいソフト作る人から返信をもらえるって ... 光栄です!

ありがとうございます。でもそれは大きな誤解です(^^;

> ちなみにSizeの値が3以上と言うのは設定できないのでしょうか?
> または3以上を設定してもQR仕様上、問題があるのでしょうか?


SizeはQRコードの描画倍率を指定しているだけですので、何倍にしても
もとのデータは変わりません。
ちなみに、QR2Unitは完全手抜きですのでSizeに指定された数値の範囲
チェックも行っていません。したがって5とか10とかを指定しても
素直に?描画すると思います。
#マイナス値を指定すると何らかのエラーになるでしょう多分(^^;


[4366] :バーコードフォント利用したサンプル返信 削除
2011/3/3 (木) 11:59:33 Mr.XRAY
とりあえず,こんなのを.
次回は,seizoさんのバーコード表示コンポーネント TBarImageを使用した
サンプル書いてみます.
できたら,印刷プレビュー制御コンポのページに掲載する予定です.

//=============================================================================
//  バーコードフォントを使用した,バーコード印刷のサンプルコード
//  印刷プレビュー制御コンポでは,描画の単位が0.1mmとなっている.したがって,
//  バーコードのナロー幅(最低でも0.19mm),ワイド幅(ナロー幅の2.25〜2.5倍)になる
//  ことを確認する必要あり
//  この調整は,以下のコードでは,FontHeightで行う
//
//  株式会社テクニカル
//  http://www.technical.jp/index.html
//
//  [製品案内]から辿って[バーコードハンドブック]
//  以下のバーコード入門のページ
//  http://www.technical.or.jp/handbook/index.html
//  http://www.technical.or.jp/handbook/chapter-font1.html
//  ここらか第7章 バーコードフォントでフォントをDL
//  その中のCODE128用を使用した例
//=============================================================================
procedure TForm1.Button1Click(Sender: TObject);
var
  StrCode    : String;
  FontHeight : Integer;
  X          : Integer;
  Y          : Integer;
  W          : Integer;
begin
  plPrev1.BeginDoc;
  try
    StrCode    := '*1234567890*';
    FontHeight := 150;
    X          := 200;
    Y          := 300;

    plPrev1.FontName('CODE128');
    plPrev1.Canvas.Font.Charset := ANSI_CHARSET;
    plPrev1.FontHeight(FontHeight);
    plPrev1.TextOut(X, Y, StrCode);

    W := plPrev1.Canvas.TextWidth(StrCode);
    plPrev1.FontSize(10.5);
    plPrev1.FontName('MS Pゴシック');
    plPrev1.TextRectFit(X,
                        X + W,
                        Y + FontHeight,
                        Y + FontHeight + plPrev1.Canvas.TextHeight(StrCode),
                        Length(StrCode),
                        StrCode);
  finally
    plPrev1.EndDoc;
  end;
   plPrev1.ShowModal;
end;


[4367] TBarImageを使用したサンプル返信 削除
2011/3/3 (木) 19:25:44 Mr.XRAY
続いて,
seizoさんのバーコード表示コンポーネント TBarImageを使用したサンプルです.
動作確認は,今のところ,
Windows XP(SP3) + Delphi 2010, XEのみ

//=============================================================================
//  seizoさんのバーコード表示コンポーネント TBarImage
//  http://www.vector.co.jp/soft/win95/writing/se196641.html
//  を使用した,バーコード印刷のサンプルコード
//  印刷プレビュー制御コンポでは,描画の単位が0.1mmとなっている.したがって,
//  バーコードのナロー幅(最低でも0.19mm),ワイド幅(ナロー幅の2.25〜2.5倍)になる
//  ことを確認する必要あり
//  この調整は,このサンプルでは以下で調整可能
//  BarImage1.Scale
//  plPrev1.StretchDrawMetaFile
//
//  また,CODE39では左右にナロースペース(細い空白)の10倍以上のスペースが必要と
//  されているので,これも確認する必要あり
//  usesにBarImageが必要
//=============================================================================
procedure TForm1.Button1Click(Sender: TObject);
var
  BarImage1 : TBarImage;
  ARect     : TRect;
begin
  plPrev1.BeginDoc;
  BarImage1 := TBarImage.Create(Self);
  try
    BarImage1.BarEnabled    := False;           //表示を一時的に禁止
    BarImage1.BarType       := cbarCODE39;      //CODE39を選択
    BarImage1.Scale         := 3;               //倍率指定
    BarImage1.SymbolDisp    := False;           //シンボル文字列は非表示
    BarImage1.Match         := True;            //バーコードのサイズに合わせて表示
    BarImage1.BarPicture    := picEMF;          //メタファイル(EMF)表示を選択
    BarImage1.BarColor      := clBlack;         //バーコードの色を黒色に指定
    BarImage1.BackColor     := clWhite;         //背景色指定
    BarImage1.BarHeight     := 105;             //高さ指定
    BarImage1.BarLeft       := 0;               //表示位置指定(X座標)
    BarImage1.BarTop        := 0;               //表示位置指定(Y座標)
    BarImage1.BarSpaceUp    := 10;              //上方向の余白のサイズを指定
    BarImage1.BarSpaceDown  := 0;               //下方向の余白のサイズを指定
    BarImage1.BarSpaceLeft  := 10;              //左方向の余白のサイズを指定
    BarImage1.BarSpaceRight := 10;              //右方向の余白のサイズを指定
    BarImage1.Code          := '0123456789ABC'; //Codeプロパティ
    BarImage1.BarEnabled    := True;            //この時点でバーコードを描画

    ARect.Left   := 200;
    ARect.Top    := 300;
    ARect.Right  := ARect.Left + BarImage1.BarWidth;
    ARect.Bottom := ARect.Top + BarImage1.BarHeight;
    //plPrev1.Canvas.Draw(ARect.Left, ARect.Top, BarImage1.Picture.Metafile);
    //でも描画可能であるが,StretchDrawMetaFileならサイズ調整が可能なので
    plPrev1.StretchDrawMetaFile(ARect, BarImage1.Picture.Metafile);

    plPrev1.FontSize(10.5);
    plPrev1.FontName('MS Pゴシック');
    plPrev1.TextRectCT(ARect.Left,
                       ARect.Right,
                       ARect.Bottom,
                       ARect.Bottom + plPrev1.Canvas.TextHeight(BarImage1.Code),
                       BarImage1.Code);
  finally
    FreeAndNil(BarImage1);
    plPrev1.EndDoc;
  end;
  plPrev1.ShowModal;
end;


[4371] Re:TBarImageを使用したサンプル返信 削除
2011/3/5 (土) 10:39:38 白猫
▼ Mr.XRAYさん
ありがとうございます。
早速、勉強させていただきます。
又、期待いたします。
なんか、ご無理させて、申し訳ありません。


[4372] Re2:TBarImageを使用したサンプル返信 削除
2011/3/6 (日) 12:18:00 Mr.XRAY
▼ 白猫さん

> なんか、ご無理させて、申し訳ありません。

いえいえ,テストするのが遅くなりまして...
もう少し整理したらTplPrevのページに掲載するつもりです.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82