Инвертируются битовые изображения из bmp-файлов - Страница 2
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Инвертируются битовые изображения из bmp-файлов

Инвертируются битовые изображения из bmp-файлов

Ответ
Поиск в этой теме
Непрочитано 28.04.2016, 10:53
Инвертируются битовые изображения из bmp-файлов
kserg
 
Регистрация: 22.04.2004
Сообщений: 269

Проблема:
инвертируются битовые изображения из bmp-файлов, вставленных в dwg.
Наблюдается в AutoCAD 2016 и AutoCAD 2017.

Подскажите, что делать ? (совет пересохранить bmp как tif и подгрузить вместо bmp -> tif - не подходит)
В AutoCAD 2015 все было нормально.
Спасибо.

В приложении (архив) - пример.

Вложения
Тип файла: zip Bmp-Tif.zip (53.5 Кб, 46 просмотров)

Просмотров: 9809
 
Непрочитано 16.05.2016, 10:20
#21
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,170


Цитата:
Сообщение от kserg Посмотреть сообщение
Был вставлен, например, "a.bmp". Его убрали, подсунули "a.tif" - AutoCAD его проигнорировал...
Можно принудительно переименовать tif в bmp. Т.е. содержимое как tif, но расширение bmp.
Главное, чтобы имя и расширение файла с растром строго соответствовало заданному в чертеже, а с содержимым Акад сам разберется. По крайней мере, на своем 2010 так делал пару раз, прокатывало
Offtop: Только не кидайтесь тухлыми помидорами, что это не фен шуй.
kp+ вне форума  
 
Непрочитано 16.05.2016, 11:01
#22
Oleg T


 
Регистрация: 27.12.2011
Сообщений: 1,456


Цитата:
Сообщение от kserg Посмотреть сообщение
не хватало еще что-либо сказать про Easy Trace - так вообще в обморок упадут...
Offtop: Ну если они даже и стандартный Paint не знают.... "Народ надо менять"(с) )))
Oleg T вне форума  
 
Автор темы   Непрочитано 16.05.2016, 11:09
#23
kserg


 
Регистрация: 22.04.2004
Сообщений: 269


kp+

"...принудительно переименовать tif в bmp..."

Этот способ проверили. Все нормально.
kserg вне форума  
 
Непрочитано 16.05.2016, 11:26
#24
Fogel

люблю мастерить
 
Регистрация: 21.01.2005
Челябинск
Сообщений: 10,332


Просто из любопытства (ну, нету у меня новых версий): Инверсия происходит при включенной прозрачности и на черном фоне или есть зависимость от этих параметров? Так-то оно весьма логично если черное изображение превращается в белое и не пропадает на фоне экрана...
Fogel вне форума  
 
Непрочитано 16.05.2016, 11:45
#25
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,170


Offtop:
Цитата:
Сообщение от Oleg T Посмотреть сообщение
"Народ надо менять"(с)
Другого народа у меня для вас нет [c]

kp+ вне форума  
 
Автор темы   Непрочитано 16.05.2016, 12:34
#26
kserg


 
Регистрация: 22.04.2004
Сообщений: 269


Fogel

Никакой зависимости.... Просто она (инверсия) есть....
kserg вне форума  
 
Непрочитано 17.05.2016, 15:18
#27
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Без проверки. Попробуй эту команду
Замена
Цитата:
(if (=(logand pat 1) 1);_Растры
(progn (princ "\n===== Image =====")
(setq sset nil sset (ssget "_X" '((0 . "IMAGE"))))
(if sset
(setq item_list (mapcar 'vlax-ename->vla-object(vl-remove-if 'listp (mapcar 'cadr (ssnamex sset)))))
(setq item_list nil))
(mapcar '(lambda(img / ipath)
(setq ipath (vla-get-ImageFile img))
(setq ipath (strcase(strcat (VL-FILENAME-BASE ipath)(VL-FILENAME-EXTENSION ipath))))
(if (and (member ipath files)(vlax-write-enabled-p img))(progn
(princ "\nМеняем ")(princ(vla-get-ImageFile img))(princ "->")
(setq ipath (strcat to "\\" ipath))
(vla-put-ImageFile img ipath)
(princ ipath)))) item_list)))
на
Цитата:
(if (=(logand pat 1) 1);_Растры
(progn (princ "\n===== Image =====")
(setq sset nil sset (ssget "_X" '((0 . "IMAGE"))))
(if sset
(setq item_list (mapcar 'vlax-ename->vla-object(vl-remove-if 'listp (mapcar 'cadr (ssnamex sset)))))
(setq item_list nil))
(mapcar '(lambda(img / ipath)
(setq ipath (vla-get-ImageFile img))
(setq ipath (strcase(strcat (VL-FILENAME-BASE ipath) ".TIF" )))
(if (and (member ipath files)(vlax-write-enabled-p img))(progn
(princ "\nМеняем ")(princ(vla-get-ImageFile img))(princ "->")
(setq ipath (strcat to "\\" ipath))
(vla-put-ImageFile img ipath)
(princ ipath)))) item_list)))
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 18.05.2016, 09:58
#28
kserg


 
Регистрация: 22.04.2004
Сообщений: 269


VVA

Заменил. По сути, как я понял, там требовалась лишь заменить в команде "MIP_CHPATH"
(VL-FILENAME-EXTENSION ipath)
на
".TIF"

Однако, отбросив рассмотрение некоторых прочих нюансов, отмечу результат работы команды:

Команда: MIP_CHPATH
Изменить путь [Растры/внСсылки/Все/Отмена] <Все> : ввел "Р"
...диал.окно "Укажите целевую папку....": указал папку с файлами dwg и bmp,tif
неверный тип аргумента: stringp nil
Команда:

А в папке были файлы из примера, в частности: w_bmp.bmp и добавленный туда w_bmp.tif

Последний раз редактировалось kserg, 18.05.2016 в 11:36.
kserg вне форума  
 
Непрочитано 19.05.2016, 08:29
#29
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от kserg Посмотреть сообщение
А в папке были файлы из примера, в частности: w_bmp.bmp и добавленный туда w_bmp.tif
kserg, Обновил команды по ссылке Акад2006-пропадают внешние ссылки. Добавил новую команду MIP_CHPATHTIF
Цитата:
MIP_CHPATHTIF - изменение абсолютного (сохраненного) пути растров и вн.ссылок. Для растров, если в указанной папке есть tif файл, то меняется и расширение, если нет, то расширение растра остается прежним, т.е. работа аналогична команде MIP_CHPATH
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 19.05.2016 в 09:07.
VVA вне форума  
 
Автор темы   Непрочитано 19.05.2016, 18:21
#30
kserg


 
Регистрация: 22.04.2004
Сообщений: 269


VVA

Спасибо, MIP_CHPATHTIF - работает.

Но есть вопрос-с намеком на предложение...
Команда сообщала о замене на ...tif не только относительно bmp-файлов, но и относительно tif (меняем tif на tif ????).

Команда: MIP_CHPATHTIF
Изменить путь [Растры/внСсылки/Все/Отмена] <Все> : вводим "Р"
....................
===== Image =====
Меняем w_bmp.bmp->E:\_BMP-TIF\W_BMP.TIF
Меняем w_tif.tif->E:\_BMP-TIF\W_TIF.TIF
Выполняется регенерация модели.
Команда:


Может стоит ввести крохотный анализ, типа если и так он tif, то и ладно... чего менять то ? значит пропускаем, о чем и сообщать для меня (нас) команде тоже нет смысла...

Еще раз спасибо.

Последний раз редактировалось kserg, 20.05.2016 в 07:47.
kserg вне форума  
 
Автор темы   Непрочитано 27.05.2016, 13:18
#31
kserg


 
Регистрация: 22.04.2004
Сообщений: 269


Наткнулись на некий "косяк" в работе команды MIP_CHPATHTIF.

Например, есть в текущей папке файлы w_bmp.bmp и w_bmp.tif.
Поменяли имя tif-файла на -w_bmp.tif, и как результат, сообщение команды:
Меняем w_bmp.bmp->E:\_BMP-TIF\-W_BMP.TIF

Поменяли имя tif-файла на _w_bmp.tif... аналогично:
Меняем w_bmp.bmp->E:\_BMP-TIF\_W_BMP.TIF

Или команда игнорирует такие знаки как, например, "-" и "_" ?

----- добавлено через ~10 мин. -----
Хммм.........Дальше - больше....

Поменяли имя tif-файла на 77w_bmp.tif... всё то же самое:
Меняем w_bmp.bmp->E:\_BMP-TIF\77W_BMP.TIF

Выходит, если рядом с bmp-файлом есть какой-либо tif-файл, имя которого похоже на имя bmp-файла - произойдет замена ?
Беда. У нас часто встречаются растровые файлы с похожими именами.

Последний раз редактировалось kserg, 01.06.2016 в 08:07.
kserg вне форума  
 
Непрочитано 20.06.2016, 14:10
#32
petrvv


 
Регистрация: 20.06.2016
Сообщений: 3


прошу прощения за мой английский, это пойдет? :
Код:
[Выделить все]
 (setq nym_img 0 dwg_pref (getvar "dwgprefix"))
(vl-cmdf "_.UNDO" "_M")
(princ "\nСсылки BMP-растров:")
(vlax-for vkl
 (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object)))
 (vlax-for object (vla-get-block vkl)
  (cond
   ((and (eq (vla-get-objectname object) "AcDbRasterImage")
     (setq pth_bmp (vla-get-imagefile object)))
    (setq fld_img (vl-filename-directory pth_bmp) baz_bmp (vl-filename-base pth_bmp)
     typ_img (strcase (vl-filename-extension pth_bmp)))
    (cond
     ((and (= typ_img ".BMP") (findfile (strcat dwg_pref baz_bmp typ_img)))
      (setq pth_tif (strcat baz_bmp ".tif") pth_tif (if (findfile pth_tif) pth_tif nil)))
     ((and (= typ_img ".BMP") (/= fld_img "") (findfile pth_bmp))
      (setq pth_tif (strcat fld_img "\\" baz_bmp ".tif") pth_tif (if (findfile pth_tif) pth_tif nil)))
     ((and (= typ_img ".BMP") (= fld_img "") (setq pth_bmp (findfile pth_bmp)))
      (setq fld_img (vl-filename-directory pth_bmp)
       pth_tif (strcat fld_img "\\" baz_bmp ".tif") pth_tif (if (findfile pth_tif) pth_tif nil)))
     (t nil))
    (cond (pth_tif (print) (princ (strcat "       " (vla-get-name object)))
     (vla-put-imagefile object pth_tif) (setq nym_img (1+ nym_img))) (t nil))
    (setq fld_img nil baz_bmp nil typ_img nil pth_tif nil)) (t nil))))
(cond ((> nym_img 0) (vl-cmdf "_REGENALL")
  (princ (strcat "\n   (в кол-ве = " (itoa nym_img) ") заменены на TIF")))
 (t (princ "\nнечего/нечем заменять")))
(setq pth_bmp nil dwg_pref nil pth_tif nil nym_img nil)
(princ)

Последний раз редактировалось petrvv, 28.06.2016 в 08:36.
petrvv вне форума  
 
Автор темы   Непрочитано 21.06.2016, 14:03
#33
kserg


 
Регистрация: 22.04.2004
Сообщений: 269


petrvv

Спасибо, это пойдет. Попробовали, косяков не наблюдалось..... А в команду это можно оформить ? Например, "BMP-TIF".
kserg вне форума  
 
Непрочитано 28.06.2016, 08:38
#34
petrvv


 
Регистрация: 20.06.2016
Сообщений: 3


Чуть подкорректировал код в посте 32.
В команду будет попоздже.
petrvv вне форума  
 
Непрочитано 23.08.2016, 13:02
#35
petrvv


 
Регистрация: 20.06.2016
Сообщений: 3


Команда BMP_TIF

Код:
[Выделить все]
 (defun C:BMP_TIF ( / nym_img dwg_pref pth_bmp fld_img baz_bmp typ_img pth_tif)
  (setq nym_img 0 dwg_pref (getvar "dwgprefix"))
  (vl-cmdf "_.UNDO" "_M")
  (princ "\nСсылки BMP-растров:")
  (vlax-for vkl
    (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object)))
    (vlax-for object (vla-get-block vkl)
      (cond
        ((and (eq (vla-get-objectname object) "AcDbRasterImage")
            (setq pth_bmp (vla-get-imagefile object))
         )
         (setq fld_img (vl-filename-directory pth_bmp)
               baz_bmp (vl-filename-base pth_bmp)
               typ_img (strcase (vl-filename-extension pth_bmp)))
         (cond
           ((and (= typ_img ".BMP")
              (findfile (strcat dwg_pref baz_bmp typ_img))
            )
            (setq pth_tif (strcat baz_bmp ".tif")
                  pth_tif (if (findfile pth_tif) pth_tif nil))
           )
           ((and (= typ_img ".BMP") (/= fld_img "") (findfile pth_bmp)
            )
            (setq pth_tif (strcat fld_img "\\" baz_bmp ".tif")
                  pth_tif (if (findfile pth_tif) pth_tif nil))
           )
           ((and (= typ_img ".BMP") (= fld_img "")
              (setq pth_bmp (findfile pth_bmp))
            )
            (setq fld_img (vl-filename-directory pth_bmp)
                  pth_tif (strcat fld_img "\\" baz_bmp ".tif")
                  pth_tif (if (findfile pth_tif) pth_tif nil))
           )
           (t nil)
         )
         (cond
           (pth_tif
             (print) (princ (strcat "       " (vla-get-name object)))
             (vla-put-imagefile object pth_tif)
             (setq nym_img (1+ nym_img))
           )
           (t nil)
         )
        )
        (t nil)
      )
    )
  )
  (cond
   ((> nym_img 0) (vl-cmdf "_REGENALL")
    (princ (strcat "\n   (в кол-ве = " (itoa nym_img) ") заменены на TIF")))
   (t (princ "\nнечего/нечем заменять"))
  )
  (princ)
)

(princ "\nкоманда BMP_TIF загружена")
(princ)

petrvv вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Инвертируются битовые изображения из bmp-файлов



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ваши сканы, наша обработка и перевод в DJVU. Armin Поиск литературы, чертежей, моделей и прочих материалов 3866 02.04.2025 09:21
Конвертация файлов Admin Прочее. Программное обеспечение 7525 12.02.2025 09:01
DwgRuLispLib: Функция открытия диалога Open\Save As файла (файлов) Supermax Библиотека функций 20 14.03.2018 10:05
DwgRuLispLib: Команда. Загрузка lisp файлов из указанной папки VVA Библиотека функций 7 15.02.2018 10:10
Рекомендации и пути решения проблем по открытию файлов формата CDW sanich_ra Другие CAD системы 2 23.03.2012 21:58