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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как узнать цвет пикселя вставленного растового изображения

Как узнать цвет пикселя вставленного растового изображения

Ответ
Поиск в этой теме
Непрочитано 10.04.2016, 23:25 #1
Как узнать цвет пикселя вставленного растового изображения
Валакин
 
Регистрация: 14.05.2014
Сообщений: 322

старый автокад 2008
__________________
Если часы пробили тринадцать раз, то это не означает, что тринадцатый удар был неверным.
Просмотров: 6734
 
Непрочитано 11.04.2016, 06:58
#2
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


PrntScr
trir вне форума  
 
Непрочитано 11.04.2016, 08:57
#3
kp+

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


Offtop: Для создания и обработки растовых изображений нужен не Autocad, а несколько другое оборудование
А если серьезно, уточните свой вопрос.
kp+ вне форума  
 
Автор темы   Непрочитано 11.04.2016, 09:08
#4
Валакин


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


Видимо автокад не справится, хотя другие проги тоже не подходят
Нужно разбить изображение на треугольники (разбиваю вручную)
получить координаты вершин и их цвет в список
граф редакторы конечно дадут цвет, но не дают координаты
автокад наоборот
__________________
Если часы пробили тринадцать раз, то это не означает, что тринадцатый удар был неверным.
Валакин вне форума  
 
Непрочитано 11.04.2016, 09:24
1 | #5
kp+

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


Rasterdesk и Rasterdesign - плагины к Акаду, Spotlight - отдельное приложение.
kp+ вне форума  
 
Непрочитано 11.04.2016, 09:54
#6
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


маньяк полный

Последний раз редактировалось Кулик Алексей aka kpblc, 11.04.2016 в 10:19.
trir вне форума  
 
Непрочитано 11.04.2016, 10:15
#7
Anton_Br

архитектор
 
Регистрация: 20.11.2007
Ростов-на-Дону
Сообщений: 539


Откройте картинку в фотошоп и щёлкнете пипеткой по пикселю
Anton_Br вне форума  
 
Непрочитано 11.04.2016, 11:07
#8
kp+

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


Цитата:
Сообщение от Anton_Br Посмотреть сообщение
Откройте картинку в фотошоп и щёлкнете пипеткой по пикселю
Насколько я смог понять, автору нужна "пипетка" в контексте векторных построений в DWG, которому растр служит подосновой. Rasterdesk и Rasterdesign, а также Spotlight как раз имеют такие средства.

Последний раз редактировалось kp+, 11.04.2016 в 11:16.
kp+ вне форума  
 
Непрочитано 11.04.2016, 13:07
#9
fasadel


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


1. Насколько масштабна задача? Если речь о десятках пикселей, или даже под сотню, то откройте картинку в Фотошопе, смотрите координаты пикселя под курсором в окне Info и выписывайте на бумажку. Реально быстрее будет вручную.

2. А если отвечать впрямую на ваш вопрос, то цвет пикселя зависит в Автокаде будет сильно зависеть от включённого визуально стиля.
fasadel вне форума  
 
Непрочитано 11.04.2016, 16:52
1 | #10
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611


Как то в свое время развлекался подобным для изо полей расчетов, но на больших файлах, я бы это делать не стал бы...
Вот исходная картинка,

а вот что получилось в итоге:



Код:
[Выделить все]
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;

using App = Autodesk.AutoCAD.ApplicationServices;
using cad = Autodesk.AutoCAD.ApplicationServices.Application;
using Db = Autodesk.AutoCAD.DatabaseServices;
using Ed = Autodesk.AutoCAD.EditorInput;
using Gem = Autodesk.AutoCAD.Geometry;
using Rtm = Autodesk.AutoCAD.Runtime;
using Col = Autodesk.AutoCAD.Colors;


[assembly: Rtm.CommandClass(typeof(ImageToPoint.Commands))]

namespace ImageToPoint
{
    public class Commands
    {
        [Rtm.CommandMethod("bx_ImageToPoint")]
        static public void bx_ImageToPoint()
        {
            App.Document acDoc = App.Application.DocumentManager.MdiActiveDocument;
            Db.Database acCurDb = acDoc.Database;
            Autodesk.AutoCAD.Windows.OpenFileDialog fileDia = new Autodesk.AutoCAD.Windows.OpenFileDialog(
              "Open an Image file", null,
              "jpg; png; tif; bmp", "Image File",
              Autodesk.AutoCAD.Windows. OpenFileDialog.OpenFileDialogFlags.NoUrls);

            System.Windows.Forms.DialogResult res = fileDia.ShowDialog();
            if( res != System.Windows.Forms.DialogResult.OK) return;

            Bitmap picture = new Bitmap(fileDia.Filename);
            using (Db.Transaction acTrans = acCurDb.TransactionManager.StartOpenCloseTransaction())
            {
                Db.BlockTable acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId, Db.OpenMode.ForRead) as Db.BlockTable;
                Db.BlockTableRecord acBlkTblRec = acTrans.GetObject(acBlkTbl[Db.BlockTableRecord.ModelSpace],
                                                                                Db.OpenMode.ForWrite) as Db.BlockTableRecord;
                for (int a = 0; a < picture.Width - 1; a++)
                {
                    for (int b = 0; b < picture.Height - 1; b++)
                    {
                        Color pixel = picture.GetPixel(a, b);
                        Db.Circle acPoint = new Db.Circle();
                        acPoint.Color = Autodesk.AutoCAD.Colors.Color.FromRgb((byte)pixel.R, pixel.G, pixel.B);
                        acPoint.Center = new Gem.Point3d(a, b, 0);
                        acPoint.Radius = 0.4;
                        acPoint.SetDatabaseDefaults();
                        acBlkTblRec.AppendEntity(acPoint);
                        acTrans.AddNewlyCreatedDBObject(acPoint, true);
                    }
                }
                acTrans.Commit();
            }
        }
    }
}
Изображения
 
Boxa вне форума  
 
Непрочитано 11.04.2016, 17:20
#11
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Валакин Посмотреть сообщение
Видимо автокад не справится, хотя другие проги тоже не подходят
Нужно разбить изображение на треугольники (разбиваю вручную)
получить координаты вершин и их цвет в список
граф редакторы конечно дадут цвет, но не дают координаты
автокад наоборот
Странная постановка вопроса...
Какая система измерения должна быть - пиксели, миллиметры и др. ?
Каков размер и направление треугольников ?
Какая характеристика номера цвета интересует - RGB или др. ?
Короче без примера того что есть и того что должно быть тут не понять.
maratovich вне форума  
 
Непрочитано 11.04.2016, 17:22
#12
kp+

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


Цитата:
Сообщение от Boxa Посмотреть сообщение
а вот что получилось в итоге:
Ух ты! зачОт, респект и уважуха! Давно искал!
Теперь пойду разбираться, как это все скомпилировать В FAQ пункт "Как использовать код" пока есть только для ЛИСПА'а Сам с С# пока не дружу, но честно обещаю подружиться
...а может, есть скомпилированный под х86 dll-файл?

Последний раз редактировалось kp+, 11.04.2016 в 17:31.
kp+ вне форума  
 
Непрочитано 11.04.2016, 17:52
#13
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611


Цитата:
Сообщение от kp+ Посмотреть сообщение
Ух ты! зачОт, респект и уважуха! Давно искал!
А знаете почему не находили? Потому что это тупиковый путь, прикиньте сколько надо создать объектов только для того, что бы вывести картинку 800*600 пикселей... автокад захлёбывается от такого. Собственно и у меня это осталось со времен обсуждения asf файлов, так больше и не пригодилось.

Цитата:
Сообщение от kp+ Посмотреть сообщение
а может, есть скомпилированный под х86 dll-файл?
Есть под 2014 акад, anyCPU, собственно во вложение оно.
Вложения
Тип файла: zip ImageToPoint.zip (2.6 Кб, 30 просмотров)
Boxa вне форума  
 
Непрочитано 11.04.2016, 18:19
#14
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


Цитата:
автокад захлёбывается от такого
В Civil'е в Облака можно загрузить миллионы точек и можно нормально работать
trir вне форума  
 
Непрочитано 12.04.2016, 09:18
#15
kp+

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


Цитата:
Сообщение от Boxa Посмотреть сообщение
Есть под 2014 акад, anyCPU, собственно во вложение оно.
Скачал, под Акад 2010 не пошло

Цитата:
Команда: netload
Не удалось загрузить сборку. Сведения об ошибке:
System.BadImageFormatException: Невозможно загрузить файл или сборку
"file:///D:\\1\ImageToPoint.dll" или один из зависимых от них
компонентов. Сборка создана в более поздней версии среды выполнения чем
текущая, и не может быть загружена.
Имя файла: "file:///D:\1\ImageToPoint.dll"
в System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase,
Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark,
Boolean throwOnFileNotFound, Boolean forIntrospection)
в System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase,
Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark,
Boolean throwOnFileNotFound, Boolean forIntrospection)
в System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence
assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
в System.Reflection.Assembly.InternalLoadFrom(String assemblyFile, Evidence
securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm,
Boolean forIntrospection, StackCrawlMark& stackMark)
в System.Reflection.Assembly.LoadFrom(String assemblyFile)
в Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName)
в loadmgd()

Предупреждение: регистрация привязки сборок выключена.
Чтобы включить регистрацию ошибок привязки сборок, установите значение
параметра реестра [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) в 1.
Примечание. Регистрация ошибок привязки сборок может привести к некоторому
снижению производительности.
Чтобы отключить эту функцию, удалите параметр реестра
[HKLM\Software\Microsoft\Fusion!EnableLog].
Но это уже в раздел "Программирование". Сейчас создам там тему.
kp+ вне форума  
 
Непрочитано 12.04.2016, 10:56
#16
fasadel


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


Воха, respect. Не знаю зачем, но выглядит круто!
fasadel вне форума  
 
Непрочитано 12.04.2016, 11:16
#17
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611


Цитата:
Сообщение от trir Посмотреть сообщение
В Civil'е в Облака можно загрузить миллионы точек и можно нормально работать
Тут ключевое слово Облака , возможно под облака есть некоторая оптимизация, я в то время этого не знал и не пользовался и потому просто кружочков наделал, потому и валилось все.
Цитата:
Сообщение от fasadel Посмотреть сообщение
Скачал, под Акад 2010 не пошло
И не должно было.
Цитата:
Сообщение от fasadel Посмотреть сообщение
Не знаю зачем
И я не знаю зачем.

----- добавлено через ~13 мин. -----
Цитата:
Сообщение от kp+ Посмотреть сообщение
Теперь пойду разбираться, как это все скомпилировать В FAQ пункт "Как использовать код" пока есть только для ЛИСПА'а Сам с С# пока не дружу, но честно обещаю подружиться
Вот тут посмотрите: https://www.youtube.com/watch?v=MM66...vNqlQaO0GtXHqA
Очень доступно и понятно.

Последний раз редактировалось Boxa, 12.04.2016 в 11:30.
Boxa вне форума  
 
Непрочитано 12.04.2016, 12:01
#18
trir


 
Регистрация: 18.12.2010
Сообщений: 5,107


для облака создаётся своя БД, в ней точки разбиваются на кластеры, и показываются лишь часть точек в кластере
trir вне форума  
 
Непрочитано 06.04.2024, 23:19
#19
melisey

начинающий инженер-конструктор
 
Регистрация: 26.12.2021
Фрязино
Сообщений: 16


Я решил проблему так: вставил скриншот с нужным цветом в Adobe Photoshop, там с помощью пипетки посмотрел значения составляющих RGB, потом в AutoCAD задал эти числа при выборе цвета на вкладке Вся палитра (см. скриншот).
Миниатюры
Нажмите на изображение для увеличения
Название: 2024-04-06_220421.png
Просмотров: 25
Размер:	117.8 Кб
ID:	262494  
melisey вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как узнать цвет пикселя вставленного растового изображения



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Линии электрических соединений Shoorup Программирование 23 07.02.2015 15:13
Подложка растового изображения под черчеж Егор19 AutoCAD 4 18.01.2012 16:29
Проблема отображения вставленного изображения в чертеже AutoCad 2011 (rus) v4dEr AutoCAD 5 12.05.2011 11:05