395 / 314 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
|
||||||
1 | ||||||
.NET 4.x Поставить цифры на изображение формата .jpg21.10.2014, 14:14. Показов 5222. Ответов 34
Метки нет (Все метки)
Друзья, может кто-то из вас специалист в этой области и подскажет куда мне двигаться...
В общем есть папка с изображениями, которые в формате jpg. Имя каждой фотографии содержит имя в виде цифры: 1.jpg 2.jpg 3.jpg 4.jpg ... и т.д. Задача. Взять имя фотографии (только цифру) и разместить эту цифру непосредственно на самой фотографии, скажем в нижнем правом или левом углу. Параметры наложения: Небольшой отступ от края по осям x и y (отступы ~ по 20px) Цвет шрифта: черный (как самый черный Размер шрифта: 12px Шрифт: Arial Стиль шрифта: Bold Если у кого-то есть подобное решение не под jpg, а скажем png, то тоже сойдет. Добавлено через 1 час 41 минуту На данный момент есть это:
Осталось только понять как это запустить в цикле. Т.е. грубо говоря, указываем программе папку с фотографиями, папку для сохранения, нажали "Запуск" и она пошла обрабатывать все фотографии в указанной папке.
0
|
21.10.2014, 14:14 | |
Ответы с готовыми решениями:
34
вставка картинки формата jpg Иконки формата jpg на виджетах Вставка рисунков формата .jpg в canvas Гиперссылки на рисунки формата jpg, расположенные на сетевом диске |
395 / 314 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
|
|
05.11.2014, 17:58 [ТС] | 21 |
vova2112, я об этом тоже сперва подумал, но странность в том, что сейчас начал интенсивно тестировать и заметил, что иногда ошибка не вылезает, иногда нет. Теперь вот на антивирус грушу. Может он влезает периодически в процесс и смотрит что там сохраняется? В общем погоняю еще, соберу максимум информации и отпишусь чем дело закончилось.
0
|
Модератор
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
|
|
07.11.2014, 13:35 | 22 |
Добавлено через 1 час 38 минут
А кто-нибудь из заинтересованных этой темой кодеров не подскажет идейку, как можно, взависимости от размера фотографии, менять размер шрифта, ведь в папке погут быть разного размера картинки, и шрифта, например 20пт будет мало для фото, размеров в 3000×2500... какую формулку можно придумать для пересчета размера шрифта доя каждого обрабатываемого изображения? Думаю вопрос тут уместен, так как относится к данному содержанию кода
1
|
395 / 314 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
|
|||||||||||
08.11.2014, 13:20 [ТС] | 23 | ||||||||||
Yury Komar, скорее всего нужно плясать от ширины и высоты картинки.
Примерно так. Узнаем высоту и ширину картинки:
0
|
Модератор
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
|
|
08.11.2014, 19:12 | 24 |
Дядя Корней, насчет ШхВ это само собой так как ничего другого и не получится изъять для этих целей... а вот формулку - надо покумекать. Я не думаю что в говнокоде есть ответ на вопрос. А если и есть в случайном примере на совсем другую тему.
спс. :
0
|
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
|
|
08.11.2014, 19:29 | 25 |
Дядя Корней, позвольте дать совет:
Если переменная Integer, то оное же свойство не стоит приводить к строке (.ToString) Лучше уже сейчас оградить себя от подобного. В других языках, даже C#, такое и даже отдаленно похожее не прокатит, мало ли, вдруг на шарп перейдете
1
|
Модератор
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
|
|
08.11.2014, 22:29 | 26 |
Дядя Корней, Придумал я формулу = (Ш+В)\40.
цыферку "40" меняйте как угодно, чем она меньше, тем шрифт будет крупнее... думаю 35-40 для будет хорошо! Всем удачи )
0
|
395 / 314 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
|
||||||
09.11.2014, 14:25 [ТС] | 27 | |||||
Yury Komar, площадь не узнается сложением. В данном случае необходимо именно умножение, затем деление.
Смотрите, допустим у нас прямоугольник Высотой 10px и шириной 5px В случае с умножением получается:
размер шрифта будет равен 5-ти. Берем вашу формулу: (Ш+В)\40 10+5 / 40 = 0,375 размер шрифта равен 0,375 Стоит отметить, что я считаю формулу неправильно, слева направо в том порядке в котором она записана. Но вспоминая школьные года, помню, что сперва необходимо умножать, затем делить, а потом уже вычитание и сложение. Я не в курсе как выполняет код VS, поэтому в случае чего это стоит учесть. Так же стоит не забывать про арифметические операторы. \ это целочисленное деление / это с плавающей запятой. Памирыч, спасибо за замечание, буду знать.
0
|
144 / 132 / 34
Регистрация: 28.02.2014
Сообщений: 159
|
|
09.11.2014, 15:15 | 28 |
Всётаки размер шрифта худо-бедно, но можно рассчитать, а вот как узнать каким цветом писать - белым на тёмном, или тёмным на светлом, я так и не не понял, хотя такое широко применяется.
0
|
395 / 314 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
|
|
09.11.2014, 15:44 [ТС] | 29 |
vova2112, предположу, что нужно сделать анализ пикселей той области, где будет размещаться текст. К примеру если в этой области преимущественно белые пиксели, то естественно выбираем темный шрифт и наоборот, если темные пиксели, то белый шрифт.
Но это только слова. Область, выбор шрифта и т.д. я еще смог бы решить, а вот как сделать анализ пикселей, вот это уже вопрос. Но если логически, то пиксели наверное нужно скидывать в массив, далее смотреть их rgb и раскидывать на две группы, темные и светлые, исходя из того, каких пикселей (темных или светлых) получилось больше делать выбор шрифта. Еще как вариант, это когда пишем кистью, делать анализ тех пикселей, на которых пишем и тоже делать выбор. Осталось только найти смельчака, который знает как эти слова превратить в vb код
0
|
10.11.2014, 00:47 | 30 | |||||
Предлагаю вариант:
2
|
144 / 132 / 34
Регистрация: 28.02.2014
Сообщений: 159
|
|||||||||||
10.11.2014, 02:00 | 31 | ||||||||||
Можно ещё вот так определять цвет текста:
4
|
207 / 224 / 87
Регистрация: 21.04.2013
Сообщений: 404
|
||||||
10.11.2014, 15:04 | 32 | |||||
Сообщение было отмечено Памирыч как решение
Решение
Можно сделать контур для текста:
т.к. &H7F7F7F Xor &HFFFFFF = &H808080. Разница для глаз незаметна.
3
|
Модератор
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
|
|
11.11.2014, 13:25 | 33 |
Дядя Корней, а много у тебя в системе картинок размером 10х5?
3000×2000/10 = 600000... не маловато для шрифта то???
0
|
395 / 314 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
|
|
11.11.2014, 13:34 [ТС] | 34 |
Yury Komar, у меня много. Я работаю с тайловой графикой, гейм-реверсинг, поэтому у меня и 1*1 есть.
Это от балды же. Что мешает 10 заменить на любое другое число?
0
|
Модератор
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
|
|
11.11.2014, 13:54 | 35 |
Ну это любое другое тоже ведь надо менять взависимости от размера...
а вообще размер 5 для картинки с шириной 10 - это многовато вроде
0
|
11.11.2014, 13:54 | |
11.11.2014, 13:54 | |
Помогаю со студенческими работами здесь
35
Вирус зашифровал файлы формата *.doc, *.jpg, *.xls, Смена формата с tga на jpg всех изображений в папке Сделать скриншот экрана и сохранить в файл формата jpg или bmp загрузить в програму изображения формата jpg и получить доступ к каждому пискселю Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |