Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Работа с изображением

00 голосов
7
Здраствуйте, возникла задача написать небольшой код в компоненте.
смысл там такой: выводится текст и выводится картинка. картинка берется из анонса и если она по размеру очень большая её нужно уменьшить.
проблема в том что после сохранения я пытаюсь выполнить запрос к БД с занесением изменений в параметрах, запрос выполняется но ничего не происходит.
запрос выглядит так
$z = $DB->Query("UPDATE b_file SET HEIGHT='$size[1]', WIDTH='$size[0]', FILE_SIZE='$size_b' WHERE ID='1058'", true, "314");
все переменные существуют. картинка находится в месте для анонса.
что можно сделать?
спросил 31 Июль, 13 от krit (120 баллов)

7 Ответы

00 голосов
а этот код - он где находится?
и какой смысл менять данные в БД, если сама картинка остается неизменной?
ну и в базу напрямую лезть - тоже не гуд :)
ответил 31 Июль, 13 от Pitek (140 баллов)
00 голосов
Цитата
проблема в том что после сохранения я пытаюсь выполнить запрос к БД с занесением изменений в параметрах


после какого сохранения? и где выполняеться запрос?
ответил 29 Сен, 13 от Storitell (340 баллов)
00 голосов
Решение №1:
Ставьте в настройках ИБ "Уменьшать если большая".

Решение №2:
вешаете на событие после сохранения элемента обработчик:
Ресайзите картинку, потом получаете массив от этого файла (MakeFileArray или GetFileArray) и апдейтите элемент (т.е. обновляете в БД данные о файле(картинке)).
ответил 29 Дек, 13 от Almarea (3,760 баллов)
00 голосов
Возник вопрос по работе с картинками. Я не программист, а конечный пользователь, поэтому заранее прошу прощения, если что-то изложу сумбурно или в чем-то не разобрался сам.
Ситуация такова:
Достаточно простой сайт, с новостями и обзорами. На первой странице выводятся анонсы новостей с картинками.
Пожелания у меня, как у конечного пользователя, просты:
1. Картинка грузится один раз в оригинальном размере.
2. При вставке картинки в текст новости я должен указать размер одной из ее сторон, вторая должно пересчитываться сама.
3. При публикации картинки в тексте новости она должна быть физически уменьшена до нужного размера (а не просто отмасштабирована средствами html - чтобы при большом размере оригинала вес страницы с несколькими картинками не исчислялся мегабайтами).
4. Под уменьшенной версией картинки должен быть "подложен" оригинал.

Подскажите, плиз, какие из этих пожеланий избыточны, а какие - реализуемы средствами Битрикс? Что-то я буксую на этом вопросе уже не первый день. :oops: :(
ответил 14 Апр, 14 от sSvet (100 баллов)
00 голосов
Цитата
1. Картинка грузится один раз в оригинальном размере.
2. При вставке картинки в текст новости я должен указать размер одной из ее сторон, вторая должно пересчитываться сама.


Можно в настройках ИБ поставить на вкладке поля "Создавать картинку анонса из детальной (если не задана)" и указать нужные размеры.
Минус: при смене детальной картинки превью не пересоздается, если предварительно превью не удалить.

Цитата
3. При публикации картинки в тексте новости она должна быть физически уменьшена до нужного размера (а не просто отмасштабирована средствами html - чтобы при большом размере оригинала вес страницы с несколькими картинками не исчислялся мегабайтами).


При выводе списка новостей и будет отображаться картинка превью

Цитата
4. Под уменьшенной версией картинки должен быть "подложен" оригинал.

Ниасилил. Что Вы имели ввиду?
ответил 08 Авг, 14 от Almarea (3,760 баллов)
00 голосов
C картинкой в анонсе - ладно. Основной вопрос не в этом.
Предположим, у меня есть оригинал большого размера. Допустим, это картинка 1280х1024, весом, скажем, 2 Мб.
Я хочу ее вставить в новость. В сам текст ее вставлять нельзя - слишком велика.
В тексте нужна картинка шириной не более 200 пикселей.

1. Если я ее просто вставляю в текст средствами визуального редактора, то я должен самостоятельно рассчитать какой должна быть высота картинки при ширине 200 пикселей.
Можно ли сделать этот процесс в битриксе автоматическим (как в графическом редакторе, когда вторая сторона расчитывается автоматом)?

2. В самой статье, хотя картинка и будет выглядеть маленькой по размерам, ее вес все равно будет оставаться равен тем же самым 2 Мб. Хочется, чтобы при публикации на странице картинка реально физически ужималась и "весила" несколько килобайт.

А вот при клике по этой маленькой картинке в отдельном окне должен открываться детальный оригинал.

Можно ли это организовать либо встроенными средствами Битрикс, либо незначительными доработками чего-либо?
Вопрос имеет значение, поскольку речь идет об элементарных удобствах пользователя. У нас получается смешная ситуация: многие навороты Битрикса нам не нужны, а вот такие минимально необходимые удобства вызывают ступор.
ответил 12 Дек, 14 от sSvet (100 баллов)
00 голосов
делай маленькие картинки через программу например ACD загружай маленькую в анонс большую в подробно.
---
думаю там будет большой гемор с этим.
ответил 03 Апр, 15 от Stom (160 баллов)

Похожие вопросы

0 голосов
1 ответ
спросил 12 Авг, 16 от fomix (120 баллов)
0 голосов
2 ответов
спросил 04 Май, 14 от Nub8507 (100 баллов)
0 голосов
0 ответов
спросил 10 Март, 14 от lordonka (120 баллов)
0 голосов
4 ответов
спросил 28 Янв, 14 от ZeroZ (100 баллов)
0 голосов
3 ответов
спросил 31 Дек, 13 от Keis (160 баллов)