[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Размер изображения
Agahnim
Это опять я с очередным вопросом к вам. Итак,моя задача такова:
Сделать скрипт меняюший размер изображения взависимости от подаваемого значения. Допустим -
$mydata = 736648
<img src="#" width="120">

$mydata = 635486
<img src="#" width="100">

Надеюсь так понятно.
Нужны способы реализации.



Спустя 3 минуты, 42 секунды (7.08.2011 - 15:39) Winston написал(а):
Цитата (Agahnim @ 7.08.2011 - 15:35)
Надеюсь так понятно

Нет
if($mydata == 736648)
echo '<img src="#" width="120">';

elseif($mydata == 635486)
echo '<img src="#" width="100">'

Какое объяснение - такой и код

Спустя 4 минуты, 14 секунд (7.08.2011 - 15:43) Agahnim написал(а):
Я считываю с XML значение.
Взависимости от того какое это значение (Большое или маленькое) мне нужно както расчитать
размер картинки тоесть:

Я читаю $значение = 756321
несложным алгоритмом я дожен вычислить $ширину_картинки = 120

Если это значение становится меньше хотябы на тысячу то картинка становится мешьше на 10 пикселов.
Если это значение становится больше хотябы на тысячу то картинка становится больше на 10 пикселов.
И тд...

Так понятнее?

Спустя 5 минут, 13 секунд (7.08.2011 - 15:48) Winston написал(а):
Цитата (Agahnim @ 7.08.2011 - 15:43)
Я читаю $значение = 756321
несложным алгоритмом я дожен вычислить $ширину_картинки = 120

Ну так если тебе несложно рассчитать ширину, то здесь элементарная логика...
$значение = 756321;
$result = // агоритм рассчета;
if($result == число)
$width = 120;
if($result == число)
$width = 100;
....
// и т.д.
echo '<img src="#" width="'. $width .'">'

Спустя 1 минута, 1 секунда (7.08.2011 - 15:49) Agahnim написал(а):
В алгоритме ,извените, и проблема.

Темболее что разброс у $значения на данный момент 6814401 - 7650235

Спустя 46 секунд (7.08.2011 - 15:50) waldicom написал(а):
Цитата (Agahnim @ 7.08.2011 - 13:43)
Я читаю $значение = 756321
несложным алгоритмом я дожен вычислить $ширину_картинки = 120

Легким движением рук брюки превращаются....брюки превращаются....

Спустя 7 минут, 7 секунд (7.08.2011 - 15:57) Agahnim написал(а):
Тоесть никто не подскажет реализацию такого алгоритма?

Спустя 2 минуты, 27 секунд (7.08.2011 - 16:00) kovaldm написал(а):
По какому принципу производить вычисления вы сами знаете? Может формула какая-то?

Спустя 2 минуты, 28 секунд (7.08.2011 - 16:02) Winston написал(а):
Цитата (Agahnim @ 7.08.2011 - 15:43)
756321

Мне интересно как вы из этого числа собираетесь вычислить 120? :blink:
Так что ли? :huh:
$mydata = 756321;
$width = (int)($mydata / 1000 / 6.3);

Спустя 8 минут, 1 секунда (7.08.2011 - 16:10) Invis1ble написал(а):
Составляется формула (функция, зависимость), а далее алгоритм
Если зависимость линейная, то см. пример Winstona

Спустя 53 секунды (7.08.2011 - 16:11) Agahnim написал(а):
Цитата (Winston)
Мне интересно как вы из этого числа собираетесь вычислить 120? blink.gif
Так что ли? huh.gif
$mydata = 756321;
$width = (int)($mydata / 1000 / 6.3);


Подойдет - спасибо.

Спустя 12 минут, 58 секунд (7.08.2011 - 16:24) Winston написал(а):
Ну или как вариант так можно
function foo($num)
{
$val = Array(70000);
if($num > $val[0])
$width = 100;
elseif($num < $val[0])
$width = 120;

return $width;
}

echo "<img src='#' width='" . foo(69999) . "'>";

Или не оно ?

Спустя 5 минут (7.08.2011 - 16:29) Agahnim написал(а):
Да что вы к 100 и 120 привязались то.
где тогда 20 40 60 80 - 140 160 180 200 220 240 260 ?
Значения может возрастать и падать бесконечно не завися от меня.

Мне только нужно ,как в графике, менять размеры картинок взависимости друг от друга.

(Значения 4 шестизначных)

Спустя 3 минуты, 32 секунды (7.08.2011 - 16:33) Agahnim написал(а):
Легче график сделать столбчатый помоему, или круговой...

Спустя 19 минут, 49 секунд (7.08.2011 - 16:52) kovaldm написал(а):
Agahnim
Вы объясните по какому принципу вычислять значения, а то вам что-то предлагают, но все не то почему-то.

Спустя 40 минут, 52 секунды (7.08.2011 - 17:33) Invis1ble написал(а):
Я и говорю, что нужно для начала описать зависимость ширины от значения, например
f(y) = 1.59 * 10E-4 * x
и тогда написать код труда не составит

Спустя 6 минут, 12 секунд (7.08.2011 - 17:39) Agahnim написал(а):
Мне уже подашел вариант винстона, я его только немного промодернизировал.

$mydata = 756321;
$width = (int)($mydata / 153004);


Вполне дает нужные мне значения.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.