Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C# графика вот есть у нас такая строка e.Graphics.DrawPath(new Pen(Color.Blue, 2), х1,у1,х2,у2); жирным выделена толщина линии как можно получить точки которые ограничивают видимую нарисованную линию, тоесть та часть которая зависит от толщины линии, соотвественно точек будет не 2 а 4, своеобразный прямоугольник. https://www.cyberforum.ru/ csharp-net/ thread157580.html NetworkStream и HTTP - к чему "привязатся"? C#
Как через NetworkStream получить полностью прогрузить ответ от сервера?Пример с мсдн неидет :( public class ParseSite { private TcpClient TCl; private NetworkStream Stream; private string host; private byte buf; private static byte StrToByteArray(string str) {
C# Узнать готово ли приложение Здравствуйте. Есть приложение в которое я запускаю посылаю нажатие клавиш с помощью SendKey из своего приложение не сразу готово принимать клавиши(грузится) поэтому я сделал паузу, но это меня не устраивает можно ли как нибудь по другому определить готовность приложения например снимать изображение с экрана и сравнивать со своим? или есть более подходящий способ? https://www.cyberforum.ru/ csharp-net/ thread157534.html C# Не получается подключить собственную *.dll Создал библиотеку классов using System; using System.Collections.Generic; using System.Text; namespace ClassLibrary3 { public class Class1 { int Sum(int i1,int i2) https://www.cyberforum.ru/ csharp-net/ thread157490.html
Вывод XML в виде структурированной таблицы данных C#
Всем доброго дня. У меня такой вопрос, как реализовать форму, на которой будет простая кнопка "Загрузить XML" и при окончании загрузки содержимое XML выводится на форме в виде таблицы данных. К примеру: <SomeData> <Name>vasa</Name> <LastName>pupkin</LastName> <E-mail>vasa@pupkin.ru</E-mail> </SomeData> <SomeData>
C# Чат на UDP https://www.cyberforum.ru/ csharp-net/ thread157443.html
нашел чат, но он был на фин форме, я его начал переписывать на wpf, вроде все тоже самое написал, но работать не хочет!!! проблему определить не могу, просто закрывается и все, причем всегда в разных местах!!! помогите кто чем может, буду очень признателен!!!
C# Пароль на окно в общем хочу написать программу, которая должна ставить пароль на папки. но я не имею понятия куда даже смотреть, подскажите пожалуйста https://www.cyberforum.ru/ csharp-net/ thread157426.html C# Увеличение используемой оперативной памяти
Доброго времени суток. На C# была написана простая однокнопочная диалоговая форма. При использовании программа постоянно увеличивает объём используемой оперативной памяти, медленно но верно. Дело явно где-то в цикле, там больше ничего и нету )) вот только где, мб кто подскажет? private void button3_Click(object sender, EventArgs e) { System.Diagnostics.Process...
C# Drag&Drop картинки https://www.cyberforum.ru/ csharp-net/ thread157285.html
как сделать чтобы при перетаскивании картинки (например из мозилы), она сохранялась в переменную Image?
C# Кодировка текста После создания программой текстово файла, при открытие его AkelPad'ом он выглядет нормально, но при открытие блокнотом весь файл выглядет как две строки, теряются символы новой строки и пробела, а так же добавляются квадратики там где должен быть переход на новую строку. При создание стоит encoding.default https://www.cyberforum.ru/ csharp-net/ thread157264.html
C# HttpWebRequest кодировка
Получаю код страницы через HttpWebRequest, но русские символы отображаются в виде вопросиков �����... Как бороться с проблемами кодировки? Пробовал так: request.ContentType=@"text/xml;charset=""utf-8"""; И так: request.ContentType=@"text/xml;charset=""windows-1251"""; Но толку никакого.
C# анализатор текста https://www.cyberforum.ru/ csharp-net/ thread157251.html
Мне необходимо написать программу анализирующую текст примерно такого содержания: --- Статы --- Сила: -4 Ловкость: +2 Скорость: 0 Привлекательность: -2 Восприятие: +1 --- Умения --- Школа света: +3
Заблокирован
05.08.2010, 22:07 0

Найти координаты вхождения изображения(1) в изображение(2) - C# - Ответ 892171

05.08.2010, 22:07. Показов 4392. Ответов 16
Метки (Все метки)

Ответ

Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
тогда найди в цикле через GetPixel битмапа
Ага, и жди стопятьсот тысяч лет, пока тормозной GetPixel отработает на всей картинке. Для указанных 800x600 и 4x4 это будет в максимуме 800x600x4x4 раз. К тому времени Вселенная состарится.

Цитата Сообщение от new_in_net Посмотреть сообщение
1.Перевести оба Bitmap'a в двухмерные массивы байтов.
Прости, а Bitmap за массив не сойдёт?

Цитата Сообщение от new_in_net Посмотреть сообщение
а дальше по идее ищешь вхождение первой строки в строках большего битмапа,
нашел, со следующей строки проверяешь есть ли совпадение по остальным строкам,
нет, продолжили поиск
Теоретик кайфа

- Как заработать миллион?
- Ну берёшь, зарабатываешь сотню, а дальше в том же духе....

Цитата Сообщение от EatingPeopleIsFun Посмотреть сообщение
ну вот оно всё сработает, но это как-то не так=)) нету других способов?)
Смотри, показываю правильный кошерный быстрый способ.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
public Point? FindSubimage(Bitmap image, Bitmap subimage)
{
    if (image.PixelFormat != PixelFormat.Format24bppRgb ||
        subimage.PixelFormat != PixelFormat.Format24bppRgb)
            throw new ApplicationException("Invalid pixel format");
 
    unsafe
    {
        BitmapData data1 = image.LockBits(
            new Rectangle(0, 0, image.Width, image.Height),
            ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
        var pBase1 = (byte*) data1.Scan0;
 
        BitmapData data2 = subimage.LockBits(
            new Rectangle(0, 0, subimage.Width, subimage.Height),
            ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
        var pBase2 = (byte*) data2.Scan0;
 
        for (int j = 0; j < image.Height; j++)
        {
            for (int i = 0; i < image.Width; i++)
            {
                for (int jj = 0; jj < subimage.Height; jj++)
                    for (int ii = 0; ii < subimage.Width; ii++)
                    {
                        byte* pixel1 = pBase1 + (j + jj)*data1.Stride + (i + ii)*3;
                        byte* pixel2 = pBase2 + jj*data2.Stride + ii*3;
 
                        if (*pixel1 != *pixel2 ||
                            *(pixel1 + 1) != *(pixel2 + 1) ||
                            *(pixel1 + 2) != *(pixel2 + 2))
                        {
                            goto next;
                        }
                    }
 
                    return new Point(i, j);
                next:
                    continue;
                }
            }
 
            subimage.UnlockBits(data2);
            image.UnlockBits(data1);
    }
 
    return null;
}
Объясняю вкрадце.
image - исходная картинка, в которой будем искать подкартинку,
subimage - картинка, которую будем искать в image
Возвращает функция Point с найденными координатами, а если не нашла вхождение - null.

Работает быстро (намного быстрее, чем через GetPixel) за счёт того, что зная формат изображения, мы можем откинуть кучу разных проверок. Изображения должны быть RGB и иметь по восемь бит на канал. Если захочешь добавить, например, альфа канал, замени Format24bppRgb на, например, Format32bppArgb и множители 3 на 4.... ну и т.д. в зависимости от формата изображений.

В настройках проекта не забудь выставить Allow unsafe code.

Использовать так:
C#
1
2
3
4
5
6
7
8
9
var bmp1 = (Bitmap)Image.FromFile(@"1.bmp");
var bmp2 = (Bitmap)Image.FromFile(@"2.bmp");
 
Point? pt = FindSubimage(bmp1, bmp2);
 
if (pt.HasValue)
    MessageBox.Show(pt.ToString());
else
    MessageBox.Show(@"Not found");


Вернуться к обсуждению:
Найти координаты вхождения изображения(1) в изображение(2) C#
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.08.2010, 22:07
Готовые ответы и решения:

Найти координаты первого вхождения в заданную строку подстроки, состоящей из двух одинаковых заданных символов
Найти координаты первого вхождения в заданную строку подстроки, состоящей из двух одинаковых...

При наведении на изображение,изображение должн немного затемнится и + по центру изображения треугольник
Вот допустим у меня 3 картинки: нужно чтоб при наведении на любую из них,затемнялось и картинка...

Процедура: при клике на изображение найти расстояние между центром этого и центром другого изображения
Доброго времени суток! При клике на изображение1 высчитывается длина между центром этого...

Координаты при нажатии на изображение
Возникла проблема, как при нажатии на Image получить координаты места куда нажали? Вообще идей...

16
05.08.2010, 22:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.08.2010, 22:07
Помогаю со студенческими работами здесь

Даны целочисленные координаты трех вершин прямоугольника, найти координаты четвертой
Даны целочисленные координаты трех вершин прямоугольника, стороны которого параллельны координатным...

Найти координаты противоположных углов квадрата если известны координаты A и B
На плоскости дан квадрат ,известны координаты двух его углов ,найти координаты оставшихся двух . ...

Координаты для изображения
Здраствуйте! Скрипт highslide содержит пример image-map (где при нажати на страну, которая...

Найти координаты B, зная координаты A, расстояние до B, зенит и азимут
В трёхмерном пространстве \alpha (x;y;z) есть объект с центром A({x}_{0};{y}_{0};{z}_{0}), зенитный...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru