А зачем изменять размер? Чтобы подогнать под размер Picture контрола? Если да, то вот примеры - https://knowledge.ni.com/KnowledgeArtic ... 0019Ko3SAEjane_wild писал(а):Теперь вот думаю как делать resize фотографий и примерно подгонять под размер, без использования NI Vision
Обновление записи в базе данных
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Обновление записи в базе данных
Мы делили апельсин - много наших полегло...
-
- professor
- Сообщения: 3407
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Обновление записи в базе данных
Если в базу загнать весь файл целиком то все данные там уже есть. Другое дело, если нужен какой-то поиск по данным. Например, найти все pict шиhиной >1005001- сами данные
2-таблица цвета
3-ширина
4-высота
5-глубина
Может, автор базы с этой целью доп столбцы создал.
Если же нужна просто картинка, то "строка" читается из базы, пишется обратно в файл, файл читается как jpg, и на выходе есть все параметры.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Обновление записи в базе данных
Можно этой дополнительной операции избежать: http://labviewportal.org/viewtopic.php?p=79173#p79173Artem.spb писал(а):пишется обратно в файл, файл читается как jpg
Если файл не в JPEG, а в PNG, то даже проще: http://labviewportal.org/viewtopic.php?p=79189#p79189
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Обновление записи в базе данных
Сейчас не имею возможности проверить, да и искать с телефона не очень.Artem.spb писал(а):Дополнение: с вашей базой фокус не прошёл.
IvanLis подскажет, он знает по свежим следам :)
Вы должны понять, что БД это не файл, а некоторая сущность - СУБД ну и целый набор файлов (они могут быть неявно, а скрыты).
Для подключения к этой сущности, как и к железке, нужен интерфейс (в строке подключения - Провайдер), который может уже выступает в качестве прослойки между БД и Вашей прогой.
Разработчики СУБД стараются делать интерфейсы для популярных библиотек доступа типа ADO (ее наверное все поддерживают).
Вот Вам нужно выбрать, какого Провайдера использовать, установить интерфейс для СУБД, а уже потом стучаться в БД.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: Обновление записи в базе данных
Зачем хранить картинку размером в пару мегабайт, ведь если количество строк будет большим, то размер БД будет огромный. В связи с этим вопрос - будет ли работать в исполняемом файле (*.exe) этот VI? Нашла вот здесьА зачем изменять размер?
В общем цель выбрать jpg файл, уменьшить его до 200 x 200 пикселей (мне больше не нужно) и загнать его, как говорил Артем в одно поле базы данных. Что бы потом можно было эту картинку оттуда достать и отобразить на picture control.
- Вложения
-
- ZoomPan.vi
- (34.4 КБ) 82 скачивания
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Обновление записи в базе данных
В exe должно работать, просто ваше приложение начнёт зависеть от .NET Framework, если до этого не зависело. Ну, и далее по тексту, необходимо вставить Dispose + Close Ref везде, где нужно. Ниже чел попытался это сделать, но пропустил кое какие ссылки, а про Close вообще забыл. :) Кроме того, поток конвертируется в PNG, что может привести к излишнему выделению памяти (и привело, ниже по тексту). Лучше переделать поток на JPG и вместо PNG Data to LV Image VI вставить тот , о котором я писал выше.jane_wild писал(а):В связи с этим вопрос - будет ли работать в исполняемом файле (*.exe) этот VI? Нашла вот здесь
В общем цель выбрать jpg файл, уменьшить его до 200 x 200 пикселей (мне больше не нужно) и загнать его, как говорил Артем в одно поле базы данных. Что бы потом можно было эту картинку оттуда достать и отобразить на picture control.
-
- professor
- Сообщения: 3407
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Обновление записи в базе данных
Как говорится, дёшево и сердито Без всяких .NEt и VisionВ общем цель выбрать jpg файл, уменьшить его до 200 x 200 пикселей
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Обновление записи в базе данных
Рамка идёт бонусом :) И ещё ей придётся следить, чтобы изображения были квадратные, иначе вот так получится:
-
- professor
- Сообщения: 3407
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Обновление записи в базе данных
Это я оставил бонусом для саморазвития.Рамка идёт бонусом :) И ещё ей придётся следить, чтобы изображения были квадратные
Когда мне надо было на экране ужимать, я изображение дополнительно в центр смещал, чтобы красиво смотрелось.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Обновление записи в базе данных
До кучи, способ ресайза через WinAPI: https://stackoverflow.com/questions/428 ... stretchblt
За основу можно взять этот (85% там уже готово): http://labviewportal.org/viewtopic.php?p=64756#p64756 Заменить функцию BitBlt на StretchBlt, возможно создать ещё один доп. контекст (dc), загрузить в него bitmap - в принципе, это всё.
За основу можно взять этот (85% там уже готово): http://labviewportal.org/viewtopic.php?p=64756#p64756 Заменить функцию BitBlt на StretchBlt, возможно создать ещё один доп. контекст (dc), загрузить в него bitmap - в принципе, это всё.
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: Обновление записи в базе данных
Извиняюсь за молчание - была в отъезде. Возращаясь к вопросу о resize
Загнать картинку в одно поле также не получаестя. Какой тип данных я должна присвоить полю в MS Access, при создании таблицы, где планируестся хранить картинку? OLE Object? Attachment? String? Memo? Вообщем вопросов много - ответов мало, но как говориться "дорогу осилит идущий"
В любом случае ребята спасибо за помощь.
Именно так я сейчас и сделала, но хотелось бы качества.. Там ведь копируестя весь контрол включая label (если она видна).Artem.spb писал(а):Как говорится, дёшево и сердито Без всяких .NEt и VisionВ общем цель выбрать jpg файл, уменьшить его до 200 x 200 пикселей
Честно пыталась - ничего не получаестя. Как по прототипу указать правильные параметры, а потом их еще и правильно подсоединить... мои робкие попытки убеждить руководство о покупки NI Vision успехом не увенчались :(dadreamer писал(а):До кучи, способ ресайза через WinAPI: https://stackoverflow.com/questions/428 ... stretchblt
За основу можно взять этот (85% там уже готово): http://labviewportal.org/viewtopic.php?p=64756#p64756 Заменить функцию BitBlt на StretchBlt, возможно создать ещё один доп. контекст (dc), загрузить в него bitmap - в принципе, это всё.
Загнать картинку в одно поле также не получаестя. Какой тип данных я должна присвоить полю в MS Access, при создании таблицы, где планируестся хранить картинку? OLE Object? Attachment? String? Memo? Вообщем вопросов много - ответов мало, но как говориться "дорогу осилит идущий"
В любом случае ребята спасибо за помощь.
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Обновление записи в базе данных
В Long String не войдет, там ограничение 64000, а у Вас получается 200*200*4=160000 byte.jane_wild писал(а):Загнать картинку в одно поле также не получаестя. Какой тип данных я должна присвоить полю в MS Access, при создании таблицы, где планируестся хранить картинку? OLE Object? Attachment? String? Memo?
Берите BLOB поле, это универсальный стандарт загнать в него можно пару Gbyte, к тому же он универсален и поддерживается большинством СУБД. Работать с ним нужно как с набором byte, т.е. фактически это как бинарный файл внутри БД.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: Обновление записи в базе данных
IvanLis, Спасибо за информацию. Я тут подумала может пока не поздно стоит отказаться от MS Access в пользу других БД. Кто что посоветует? Требований два: Наличие бесплатного инструмента для просмотра/редактирования БД, возможность работы с БД при помощи NI Database Toolkit. Спасибо
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Обновление записи в базе данных
jane_wild, вы тут на холивар нас подписываете? )))
Мое первое предложение - MySQL. В принципе, даже есть библиотека (открытая, с исходниками) для работы с ней напрямую. Но и через NI Database Toolkit, при наличии установленных драйверов, работает. Только ставить надо драйвера той разрядности, какая Labview.
Мое первое предложение - MySQL. В принципе, даже есть библиотека (открытая, с исходниками) для работы с ней напрямую. Но и через NI Database Toolkit, при наличии установленных драйверов, работает. Только ставить надо драйвера той разрядности, какая Labview.
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Обновление записи в базе данных
А с каких это пор MS Access бесплатной стала?jane_wild писал(а):Я тут подумала может пока не поздно стоит отказаться от MS Access в пользу других БД. Кто что посоветует? Требований два: Наличие бесплатного инструмента для просмотра/редактирования БД, возможность работы с БД при помощи NI Database Toolkit. Спасибо
Данную СУБД в некоторых случаях удобно использовать, в плане переносимости - одним файлом, но по хорошему, для просмотра необходим MS Office.
БД необходимо выбирать исходя из поставленных целей, т.к. например некоторые при установке тянут много пакетов, но достаточно функциональны (MySQL, PostgreSQL).
А вот SQLite не требует установки, хранится все в одном файле, но малый набор типов данных полей (в принципе легко обходится), проблемы с блокировками при многопользовательском доступе по причине некоторой пароноидальности по поводу целостности данных и при хранении больших объемов тормознутость.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 875 Просмотры
-
Последнее сообщение IvanLis
-
- 13 Ответы
- 1226 Просмотры
-
Последнее сообщение Boxa
-
- 0 Ответы
- 503 Просмотры
-
Последнее сообщение Juri
-
- 3 Ответы
- 272 Просмотры
-
Последнее сообщение AndreyDmitriev
-
- 13 Ответы
- 2454 Просмотры
-
Последнее сообщение rsv