2013-03-19 1 views
2

Ive искал часы ... но Im в растерянности!Mathematica: Добавить текст в импортированное изображение/графику в качестве метки

Я импортировал изображение в Mathematica -> размеры 2x2cm при 72DPI.

Я пытаюсь «ярлык» изображение с текстовой строкой, которая: - имеет цвет шрифта «FONTCOLOR» - имеет черный контур, так что контрастирует с любым основного цветом - сидит в правом нижнем углу импортированные изображения - имеет размер H/W в см - необязательно находится в текстовом поле с белым фоном

Это как далеко ив пришел:

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 к графику текстовой строки, используя ее версию, в которой используется только черный/белый.

Затем я попытаюсь объединить изображения с надписью.

Как ничто из этого, похоже, не работает относительно размера изображения и позиционирования, я любезно прошу помощи. Нет необходимости «исправлять» этот грязный код.

Возможно, вы могли бы указать мне на сценарий или учебник - все, что мне действительно нужно, это добавить и разместить текстовую строку или текстовое поле на базовом изображении.

Большое спасибо!

+0

Хотели бы вы, чтобы я переместил этот вопрос на наш сайт специалиста по математике. Там вам может помочь. @ ping me или флаг для модератора, чтобы сделать это. Благодарю. – Kev

ответ

1

Это поздно здесь, так что это только начало решения для вас, но вот простой способ добавить текстовую метку к изображению:

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

, который создает изображение с текстом «Bottom» в красный шрифт большого шрифта. Далее дается изображение называется img1

ImageCompose[img1,lbl] 

помещает текст в центре изображения. ImageCompose имеет опции, позволяющие вам позиционировать второе изображение (т.е. ярлык) по первому изображению. Вы можете поставить метку на цветном фоне, как это:

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

Я не понял, но, как писать текст с цветным контуром.

+0

Благодарим вас за помощь! Ваш ответ также сказал мне, что я должен более подробно рассмотреть иерархию функций;) Thx! – stockoverflaw

1

Посмотрите на это. Есть и другие способы.

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] 
+0

Спасибо большое !!! Очень признателен ! – stockoverflaw

Смежные вопросы