2

私は何時間も検索しました...しかし私は途方に暮れています!

画像をMathematicaにインポートしました->72DPIで2x2cmの寸法。

次のようなテキスト文字列で画像に「ラベルを付ける」ことを試みています。-フォントの色は「fontColor」-輪郭は黒なので、下にある色とは対照的です-インポートされた画像の右下隅にあります-サイズはhです/ w in cm-オプションで、背景が白のテキストボックスに配置されます

これは、どこまで進んだかです。

MathCode:

image = Import["myimg.jpg"];
inchFactor = 2.54;(* 1 inch = 2.54cm *)
docRes = 72;
pixelConverter = docRes/inchFactor/2;

myText = First[
   First[ImportString[
     ExportString[
      Style["glorious label string here", Bold, FontSize -> 15, 
       FontFamily -> "Verdana"], "PDF"], "PDF", 
     "TextMode" -> "Outlines"]]];

myTextGraphic = 
  Graphics[{EdgeForm[Directive[Black, Thickness[0.01]]], White, 
    myText}, Background -> White, 
   ImageSize -> {10*pixelConverter, 2*pixelConverter}];
myTextGraphic = Rasterize[myTextGraphic];

combined = SetAlphaChannel[myTextGraphic, myTextGraphicAlphaVersion];

テキスト文字列の黒い輪郭に対して上記の方法(PDFラッパー)を見つけました。

黒/白のみを使用するバージョンを使用して、テキスト文字列のグラフィックにAlphaChannelを追加しています。

次に、画像をオーバーレイと組み合わせてみます。

出力される画像のサイズや位置については、どれもうまくいかないようですので、よろしくお願いします。その厄介なコードを「修正」する必要はありません。

スクリプトやチュートリアルを教えてもらえるかもしれません。私が本当に望んでいるのは、テキスト文字列またはテキストボックスを下にある画像に追加して配置することだけです。

どうもありがとう !

4

2 に答える 2

2

これを見てください。他の方法もあります。

img = Import["http://todayinsci.com/H/Hilbert_David/HilbertDavidThm.jpg"];

Column[{
  img,
  Text[Style["Professor Hilbert", Red]]
}]

imgCtr = Round[ImageDimensions[img]/2];

overlay = Framed[Graphics[{Text[Style["Professor Hilbert", Red, 9], imgCtr]},ImageSize-> {66, 14}], FrameStyle -> Green]

Overlay[{img, overlay}, Alignment -> Center]
于 2013-03-20T23:21:58.883 に答える
1

ここでは遅いので、これは解決策の始まりにすぎませんが、画像にテキスト ラベルを追加する簡単な方法を次に示します。

lbl = Graphics[Text[Style["Bottom", Red, Large]]]

大きなフォントで赤いテキスト「Bottom」を含む画像を作成します。次に、img1

ImageCompose[img1,lbl]

テキストを画像の中央に配置します。 ImageComposeには、最初の画像に対して 2 番目の画像 (つまり、ラベル) を配置できるオプションがあります。次のように、色付きの背景にラベルを付けることができます。

lbl = Graphics[Text[Style["Bottom", Red, Large, Background -> Blue]]]

色付きのアウトラインでテキストを書く方法はまだわかりません。

于 2013-03-19T22:51:18.270 に答える