Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Камера растягивает изображение - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Динамическое заполнение массива картинок http://www.cyberforum.ru/android-dev/thread784906.html
public static Integer images={ R.drawable.hello, R.drawable.hello1, R.drawable.hello2, R.drawable.hello3, R.drawable.hello4, R.drawable.hello5, R.drawable.hello6, R.drawable.hello7}; ...
Программирование Android Программирование кнопок не прямоугольных форм Уважаемые, подскажите, как сделать кнопку сложной формы, например, по форме пианинных клавиш. Или как запрограммировать наложенные друг на друга кнопки (должно отрабатываться событие только... http://www.cyberforum.ru/android-dev/thread784827.html
Логика структуры приложения Программирование Android
Добрый день всем участникам форума, в частности Vov1k... Появился новый вопрос. У меня есть активность в которой установлен listview1. Он заполнен текстовыми полями с данными. Стоит обработчик...
Программирование Android Логика структуры приложения
Добрый день всем участникам форума, в частности Vov1k... Появился новый вопрос. У меня есть активность в которой установлен listview1. Он заполнен текстовыми полями с данными. Стоит обработчик...
Программирование Android Можно ли редактировать текст программно? http://www.cyberforum.ru/android-dev/thread784589.html
Привет Всем!...Подскажите, можно ли редактировать текст программно?...т.е. сделать его жирным,курсивом, подчеркнутым и т.д.
Программирование Android Данная тема о Adobe Flash Player на андроид ! Всем привет!Прошу помощи ...Друзья,как можно установить флеш плеер на андроид версии 2.2.1?!Устройство Samsung Galaxy Gio S5660 ,root права установлены.Все мои личные попытки были провальные(((... подробнее

Показать сообщение отдельно
Падший-фнгел
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 35

Камера растягивает изображение - Программирование Android

12.02.2013, 19:51. Просмотров 1971. Ответов 0
Метки (Все метки)

Доброе время суток.
Делаю программу которая будет работать с камерой.
Возникла проблема.
Изображение получаемое с камеры растягивается.
Как избавится от этой проблемы?

Вот код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.view.View;
 
import android.hardware.Camera;
import android.hardware.Camera.Size;
 
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
 
public class MainActivity extends Activity implements SurfaceHolder.Callback, View.OnClickListener, Camera.PictureCallback, Camera.PreviewCallback, Camera.AutoFocusCallback{
private Camera camera;
private SurfaceHolder surfaceHolder;
private SurfaceView preview;
private Button shotBtn;
 
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
 
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
 
requestWindowFeature(Window.FEATURE_NO_TITLE);
 
setContentView(R.layout.activity_main);
 
preview = (SurfaceView) findViewById(R.id.SurfaceView01);
 
surfaceHolder = preview.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
 
shotBtn = (Button) findViewById(R.id.button1);
shotBtn.setOnClickListener(this);
}
 
@Override
protected void onResume(){
super.onResume();
camera = Camera.open();
}
 
@Override
protected void onPause(){
super.onPause();
 
if (camera != null){
camera.setPreviewCallback(null);
camera.stopPreview();
camera.release();
camera = null;
}
}
 
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height){
}
 
public void surfaceCreated(SurfaceHolder holder){
try{
camera.setPreviewDisplay(holder);
camera.setPreviewCallback(this);
}
catch (IOException e){
e.printStackTrace();
}
 
Size previewSize = camera.getParameters().getPreviewSize();
float aspect = (float) previewSize.width / previewSize.height;
 
int previewSurfaceWidth = preview.getWidth();
int previewSurfaceHeight = preview.getHeight();
 
LayoutParams lp = preview.getLayoutParams();
 
 
if (this.getResources().getConfiguration().orientation != Configuration.ORIENTATION_LANDSCAPE){
 
camera.setDisplayOrientation(90);
lp.height = previewSurfaceHeight;
lp.width = (int) (previewSurfaceHeight / aspect);
;
}
else{
 
camera.setDisplayOrientation(0);
lp.width = previewSurfaceWidth;
lp.height = (int) (previewSurfaceWidth / aspect);
}
 
preview.setLayoutParams(lp);
camera.startPreview();
}
 
public void surfaceDestroyed(SurfaceHolder holder){
}
 
public void onClick(View v){
if (v == shotBtn)
{
camera.autoFocus(this);
}
}
 
public void onPictureTaken(byte[] paramArrayOfByte, Camera paramCamera){
 
try{
File saveDir = new File("/sdcard/CameraExample/");
 
if (!saveDir.exists()){
saveDir.mkdirs();
}
 
FileOutputStream os = new FileOutputStream(String.format("/sdcard/CameraExample/%d.jpg", System.currentTimeMillis()));
os.write(paramArrayOfByte);
os.close();
}
catch (Exception e){
}
 
paramCamera.startPreview();
}
 
public void onAutoFocus(boolean paramBoolean, Camera paramCamera){
if (paramBoolean){
paramCamera.takePicture(null, null, null, this);
}
}
 
public void onPreviewFrame(byte[] paramArrayOfByte, Camera paramCamera){
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru