forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Загрузка и показ Большого изображения (http://forum.boolean.name/showthread.php?t=11386)

LLI.T.A.L.K.E.R. 10.12.2009 02:32

Загрузка и показ Большого изображения
 
Здравствуйте :)
У меня моб. телефон $ам$унг J210. При просмотре изображения в нём нет увеличения (зума), не поддерживаются Java игры размером более 300 кб :''((
Из-за этого мучаюсь при просмотре на фото мелких деталей.
Хотел карту города на телефоне иметь - но ничего не разглядеть, когда большое фото уменьшается в размеры под экран.
Тогда подумал сделать МП-программу для загрузки фото 512x512 (или меньше) из ФС и просмотра с увеличением, передвижением с кнопками по экрану..

В прог-е использовал
Цитата:

uses imloadjsr75,canvas,memclean;
всё проvarил
загрузил фото
Цитата:

iImg:=imloadjsr75.loadimage('/tflash/Other files/Xlam/Map-H4.jpg');
но когда отображаю фото-карту
Цитата:

DrawImage(iImg,X,Y);
Repaint;
Delay(20);
всё равно выводится фото под размер экрана.
Т.е. так
=========
|---------- |
||`` ```||
||` `` ` ||
|---------- |
=========

А хочу чтобы отображалось фото 512x512, и можно было скроллить его на экране..:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|`````````````````````|
|```=========``````` ` |
|```|```````|`````````|
|```|```````|`````````|
|```|```````|`````````|
|```|```````|`````````|
|```=========``````` ` |
| _ _ _ _ _ _ _ _ _ _ _ _ _ |

Как бы его отобразить полноразмерно..
Например "будто бы была" функция DrawImage2(iImg,Width,Height,X,Y); :rolleyes: Тогда было бы легче.

Пробовал из Canvas функцию resize_image - но после увеличения просто все пикселы увеличиваются и всё квадратно.

Может можно будет как-то с помощью Rect-ов, но пока не разбирался..

Вопрос: как в программе полноразмерно вывести фото 512x512 на экран 176x220, чтобы можно было скроллить клавишами.

ViNT 10.12.2009 09:00

Ответ: Загрузка и показ Большого изображения
 
Чтобы телефон масштабировал изображение при отрисовке, вижу впервые. Но все равно надо делать не так.
Нужно загрузить изображение в Image, не отображая на дисплее, а потом с помощью ImageFromImage копировать нужный участок изображения (размером с экран) и выводить.
Нужно также помнить, что загрузка больших изображений требует много оперативной памяти.

Skythrone 10.12.2009 15:02

Ответ: Загрузка и показ Большого изображения
 
Да, самсунги масштабируют при отрисовке, это я подтверждаю.

Я сам в своё время был очень удивлён, когда обнаружил эту "фичу".

odd 11.12.2009 17:13

Ответ: Загрузка и показ Большого изображения
 
Я просто в шоке, от телефонов Samsung.
Гнусмас одним словом он и в Африке Гнусмас.
Конкуренцию им составляет разве что только Nokia.

Bruteo 11.12.2009 17:35

Ответ: Загрузка и показ Большого изображения
 
Цитата:

Сообщение от odd (Сообщение 129143)
Конкуренцию им составляет разве что только Nokia.

В современных смартфонах nokia ява машина очень хороша.

cherepets 13.12.2009 14:54

Ответ: Загрузка и показ Большого изображения
 
На нокиях правда все не такуж и плохо.
Дома есть Нокиа Е51 (мой) и Гнусамас "с надписью Армани".

На нокии нашел 3 минуса явы:
- нет звука
- не ставится приложение если оно умеет общаться и через Нет и через смс
- жср75 так и не захотел работать

Минусы самсунга же перечислять глупо... Вся коллекция Нокии + пара сотен своих)))

GRAY_WOLF 13.12.2009 17:59

Ответ: Загрузка и показ Большого изображения
 
Цитата:

Сообщение от cherepets (Сообщение 129441)
На нокиях правда все не такуж и плохо.
Дома есть Нокиа Е51 (мой) и Гнусамас "с надписью Армани".

На нокии нашел 3 минуса явы:
- нет звука
- не ставится приложение если оно умеет общаться и через Нет и через смс
- жср75 так и не захотел работать

Минусы самсунга же перечислять глупо... Вся коллекция Нокии + пара сотен своих)))

На сколько я знаю, что на нокика S40 прекрасно уживается "в jimm'e от хаттаба" и интернет и отправка смс. При установке программ написанных на МР ни когда не пользуюсь jad'om и ни каких продлем не возникает.

cherepets 13.12.2009 21:00

Ответ: Загрузка и показ Большого изображения
 
jad'ом тоже никогда не пользуюсь))
джиммом также не пользуюсь, так что хз что там и как...

Kjaarh 28.07.2011 00:52

Ответ: Загрузка и показ Большого изображения
 
Я че то не понял. Чел спрашивал как передвигаться кнопками по экрану, а вы тут про баги нокии. Тут кто нибудь может обьяснить как передвигать дисплей по карте?

ViNT 28.07.2011 00:57

Ответ: Загрузка и показ Большого изображения
 
Цитата:

Сообщение от Kjaarh (Сообщение 196935)
Я че то не понял. Чел спрашивал как передвигаться кнопками по экрану, а вы тут про баги нокии. Тут кто нибудь может обьяснить как передвигать дисплей по карте?

Ответ содержится во втором посте. Нужно загрузить изображение в память, а потом копировать нужный участок на дисплей.

Amigo888 05.08.2011 16:56

Ответ: Загрузка и показ Большого изображения
 
ну как то так :
program NewProject89;
const step = 8;
var
x,y,key,i,j,hi,wi:integer;
pic : image;
begin
y:=0; x:=0;wi:=GetWidth;hi:=GetHeight;
pic:=Loadimage('/tile0.PNG');//Загрузка картинки
i:=GetImageHeight(pic);//Высота картинки
j:=getImageWidth(pic);//Ширина картинки
repeat
key:=KeyToAction(GetKeyPressed);
Delay(30);
if (key = GA_DOWN) and (y-step>=hi-i) then y:=y-step;//Вниз
if (key = GA_UP) and (y+step<=0) then y:=y+step; //Вверх
if (key = GA_RIGHT) and (x-step>=wi-j) then x:=x-step;//В прово
if (key = GA_LEFT) and (x+step<=0) then x:=x+step;// В лево
if key=GA_FIRE then halt;// Выход
DrawImage(pic, x, y);
repaint;
delay(20);//Перерисовка картинки
until false;
end.


Часовой пояс GMT +4, время: 16:37.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot