TEXT OVER TIFF IMAGE

I've inserted a monochrome tiff image (aerial photo) and would like to place text labels on top of the image. I would like the text to have a clear background when I print. Is there a way to do this?

Comments

  • Jon, do you know about wipeouts? (If not: a wipeout is an invisible polygon that hides everything that's behind it.) BricsCad doesn't have a wipeout command, as far as I know, but if you can get your hands on a DWG file that has one in it, you can copy and paste that one in. Then you can re-size it, or alter its shape by dragging the grips, and make as many copies of it as you need. And of course use the Draworder command to put it in front of the image but in back of the text.

  • Hi Jon,There was a thread on this forum discussing MTEXT background masks. I have been using them in Bricscad quite successfully.See http://www.bricsys.com/protected/en_INTL/support/forumthread.jsp?id=7630 for mode info.Hope that helps...Greg

  • to avoid any confusion... this code works well...c:wipe -> use to "white out" anything... c:mtw -> toggles mtext background fill and changes draworder if mtext to front... error control could be better... but it works fine...

    ;;;---------------------------------------------------------;;;--- Creates a Rectangular Wipeout (i.e. PLANE entity ----;;;--- with color set to RGB 255,255,255) ----;;;---------------------------------------------------------(defun c:WIPE (/ pt1 pt2 $CMDECHO $CECOLOR) (setq $CMDECHO (getvar "CMDECHO")) (setq $CECOLOR (getvar "CECOLOR")) (setvar "cmdecho" 0) ;Get box location (setq pt1 (getpoint "\nFirst point of Wipeout:")) (if (setq pt2 (getcorner pt1 "\nOther corner of rectangle:")) (progn (setvar "CECOLOR" "RGB:255,255,255") (command "PLANE" "RECTANGLE" pt1 pt2 0 "") ) ) (setvar "CMDECHO" $CMDECHO) (setvar "CECOLOR" $CECOLOR) ; clean exit (princ));;;---------------------------------------------------------;;;---------------------------------------------------------;;;---------------------------------------------------------;;;--- Toggle's background for mText entities --------------;;;---------------------------------------------------------(defun c:mtw (/ $CMDECHO ent obj sset1 sset2 newent cnt cnt2 cnt3) ;; get big selection set (prompt "\nSelect entities to Toggle Background Fill [only mText will be modified]:") (if (setq sset1 (ssget)) (progn (setq $CMDECHO (getvar "CMDECHO")) (setvar "CMDECHO" 0) ;; run through each entity selected (setq cnt -1 cnt2 0 cnt3 0) (while (< (setq cnt (1+ cnt)) (sslength sset1)) (setq obj (vlax-ename->vla-object (ssname sset1 cnt)) ObjType (vla-get-ObjectName obj) ) (cond ((= ObjType "AcDbMText") (setq cnt2 (1+ cnt2)) (setq ent (ssname sset1 cnt)) (if (= (vla-get-BackgroundFill obj) :VLAX-TRUE) ;;;--- IF TRUE - already filled (progn (vla-put-BackgroundFill obj :VLAX-FALSE) (vla-update obj) (setq cnt3 (1+ cnt3)) ) ;;;--- IF TRUE - already filled ;;;--- IF FALSE - no fill (progn (setq sset2 (ssadd)) (ssadd ent sset2) (command "draworder" sset2 "" "F") (setq ent (entget ent)) (if (= 1 (cdr(assoc 90 ent))) (progn (setq ent (subst (cons 90 1) (cons 90 3) ent) ) (entmod ent) (entupd (cdr(assoc -1 ent))) ) (progn (setq newent (append ent (list(cons 90 3)))) (entmod newent) (entupd (cdr(assoc -1 newent))) ) ) ;;;--- IF FALSE - no fill ) ) ) ) ; end COND ) ; end WHILE (prompt (strcat "\nmText Background(s) Modified <" (rtos (- cnt2 cnt3) 2 0) " turned ON> " "<" (rtos cnt3 2 0) " turned OFF>\n") ) (setvar "CMDECHO" $CMDECHO) ); end progn ); end if(princ)); end MTW;;;---------------------------------------------------------;;;---------------------------------------------------------
  • Hi Stephen Marcotte,

    many thanks for your codes, i modfied mtw for german users. it works.

    hope this is ok for you

    ;;;---------------------------------------------------------
    ;;;--- Ein/Aus Hintergrund für MText - Textmaske -----------
    ;;;---------------------------------------------------------
    (defun c:mtw (/ $CMDECHO ent obj sset1 sset2 newent cnt cnt2 cnt3)

    ;; get big selection set

    (prompt "\nMText zum ändern des Hintergrundes auswählen [nur MText wird modifiziert]:")
    (if (setq sset1 (ssget))
    (progn

    (setq $CMDECHO (getvar "CMDECHO"))
    (setvar "CMDECHO" 0)

    ;; run through each entity selected
    (setq cnt -1 cnt2 0 cnt3 0)
    (while (< (setq cnt (1+ cnt)) (sslength sset1))
    (setq obj (vlax-ename->vla-object (ssname sset1 cnt))
    ObjType (vla-get-ObjectName obj)
    )
    (cond
    ((= ObjType "AcDbMText")
    (setq cnt2 (1+ cnt2))
    (setq ent (ssname sset1 cnt))
    (if (= (vla-get-BackgroundFill obj) :VLAX-TRUE)
    ;;;--- IF TRUE - already filled
    (progn
    (vla-put-BackgroundFill obj :VLAX-FALSE)
    (vla-update obj)
    (setq cnt3 (1+ cnt3))
    )
    ;;;--- IF TRUE - already filled
    ;;;--- IF FALSE - no fill
    (progn
    (setq sset2 (ssadd))
    (ssadd ent sset2)

    (command "_draworder" sset2 "" "V")

    (setq ent (entget ent))
    (if (= 1 (cdr(assoc 90 ent)))
    (progn
    (setq ent
    (subst (cons 90 1)
    (cons 90 3)
    ent)
    )
    (entmod ent)
    (entupd (cdr(assoc -1 ent)))
    )
    (progn
    (setq newent (append ent (list(cons 90 3))))
    (entmod newent)
    (entupd (cdr(assoc -1 newent)))
    )
    )
    ;;;--- IF FALSE - no fill
    )
    )


    )

    ) ; end COND
    ) ; end WHILE

    (prompt
    (strcat "\nMText Hintergründe modifiziert <"
    (rtos (- cnt2 cnt3) 2 0) " EIN> "
    "<" (rtos cnt3 2 0) " AUS>\n")
    )

    (setvar "CMDECHO" $CMDECHO)

    ); end progn
    ); end if

    (princ)
    ); end MTW
    ;;;---------------------------------------------------------
    ;;;---------------------------------------------------------
This discussion has been closed.