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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
curumb
0 / 0 / 0
Регистрация: 27.03.2010
Сообщений: 19
#1

Эффект наложения картинок. Выдает ошибку, что не правильно? - Программирование Android

28.08.2012, 10:35. Просмотров 1274. Ответов 5
Метки нет (Все метки)

void saveIMG(){

myFile=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/external_sd/My_imgs");
myFile.mkdirs();
tmpc=new Time();
tmpc.setToNow();
myfilename="/"+Integer.toString(tmpc.monthDay)+"."
+Integer.toString(tmpc.month+1)+"."+
Integer.toString(tmpc.year)+"-"+"MYIMG.jpg";
myFile=new File(myFile,myfilename);
try {
myStream=new FileOutputStream(myFile);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
try {
instr1=new FileInputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+"/external_sd/My_imgs/IMG1.jpg");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
instr2=new FileInputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+"/external_sd/My_imgs/IMG2.jpg");
} catch (FileNotFoundException e) {
e.printStackTrace();
}

ImageView myview=(ImageView)findViewById(R.id.imageView1);
Options opt=new BitmapFactory.Options();
opt.inSampleSize=4;
Bitmap bitmap1=BitmapFactory.decodeStream(instr1, null, opt);
Bitmap bitmap2=BitmapFactory.decodeStream(instr2, null, opt);
newIMG=Bitmap.createBitmap(bitmap1.getWidth(), bitmap1.getHeight(), bitmap1.getConfig());
if(!holder.getSurface().isValid()){
try{
canvas=holder.lockCanvas();
Paint paint=new Paint();
canvas=new Canvas(newIMG);
canvas.drawBitmap(bitmap1, 0,0, paint);
paint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.MULTIPLY));
canvas.drawBitmap(bitmap2, 0,0, paint);
holder.unlockCanvasAndPost(canvas);
myview.setImageBitmap(newIMG);
}finally{
Toast.makeText(getApplicationContext(), "saveIMG done", Toast.LENGTH_SHORT).show();
}
}
newIMG.compress(CompressFormat.JPEG, 100, myStream);
try {
myStream.flush();
} catch (IOException e) {
e.printStackTrace();
}
try {
myStream.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
MediaStore.Images.Media.insertImage(getContentResolver(),
myFile.getAbsolutePath(),
myFile.getName(),
myFile.getName());
} catch (FileNotFoundException e) {
e.printStackTrace();
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2012, 10:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Эффект наложения картинок. Выдает ошибку, что не правильно? (Программирование Android):

Выдает ошибку в программе,что не правильно я прописал - Pascal ABC
Ввести массив F.Найти сумму элементов введенного массива, кратных числу 3. Помогите пожалуйсто разобраться не знаю как правильно...

Ребят Незнаю что делать при запуске на компилирование выдает ошибку.Кто понимает что не так скажите а если не затруднит исправьте ошибку - C++
Разговаривал с двумя преподами говорят что проект не правильно создавал,хотя все правильно из группы спрашивал у парней говорят что не...

Правильно написал программу?ошибку выдает - Pascal ABC
uses GraphABC; var i,x0,y0,x1,y1,k,a: integer; x,y: real; procedure Draw(x0,y0,k: integer); var i:integer; ...

Выдает ошибку но вроде все правильно посмотрите! - C++
Задача в которой создается указатель второго порядка. #include <iostream> #include <conio.h> int main() { double dx=234.678; ...

Сортировка данных в рекордсете выдает ошибку, как сделать правильно? - Visual Basic .NET
VS 2005, база Аксесс Есть рекордсет, который нормально читается, фильтруется, сохраняет изменения в базе, но, никак не могу...

Выдает ошибку, что делать? - Delphi
procedure TForm1.FormCreate(Sender: TObject); var VolName, FileSysName :array of Char; FileSysFlags, VolSerialNum, ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
28.08.2012, 10:59 #2
не могли бы вы написать что за ошибка и попытаться более описать что бы имеете ввиду под наложением картинок?
PS это что бы было всем понятней:
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
void saveIMG(){ 
 
        myFile=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/external_sd/My_imgs");
        myFile.mkdirs();
        tmpc=new Time();
        tmpc.setToNow();
        myfilename="/"+Integer.toString(tmpc.monthDay)+"."
+Integer.toString(tmpc.month+1)+"."+
Integer.toString(tmpc.year)+"-"+"MYIMG.jpg";
        myFile=new File(myFile,myfilename);
        try {
            myStream=new FileOutputStream(myFile);
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        } 
        try {
            instr1=new FileInputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+"/external_sd/My_imgs/IMG1.jpg");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        try {
            instr2=new FileInputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+"/external_sd/My_imgs/IMG2.jpg");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
 
        ImageView myview=(ImageView)findViewById(R.id.imageView1);
        Options opt=new BitmapFactory.Options();
        opt.inSampleSize=4;     
        Bitmap bitmap1=BitmapFactory.decodeStream(instr1, null, opt);
        Bitmap bitmap2=BitmapFactory.decodeStream(instr2, null, opt);
        newIMG=Bitmap.createBitmap(bitmap1.getWidth(), bitmap1.getHeight(), bitmap1.getConfig());
        if(!holder.getSurface().isValid()){
        try{    
        canvas=holder.lockCanvas();
        Paint paint=new Paint();
        canvas=new Canvas(newIMG);
        canvas.drawBitmap(bitmap1, 0,0, paint);
        paint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.MULTIPLY));
        canvas.drawBitmap(bitmap2, 0,0, paint);
        holder.unlockCanvasAndPost(canvas);
        myview.setImageBitmap(newIMG);
        }finally{
            Toast.makeText(getApplicationContext(), "saveIMG done", Toast.LENGTH_SHORT).show();
        }
        }
        newIMG.compress(CompressFormat.JPEG, 100, myStream);
        try {
            myStream.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            myStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    try {
            MediaStore.Images.Media.insertImage(getContentResolver(),
                    myFile.getAbsolutePath(),
                    myFile.getName(),
                    myFile.getName());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
0
curumb
0 / 0 / 0
Регистрация: 27.03.2010
Сообщений: 19
28.08.2012, 11:32  [ТС] #3
Цитата Сообщение от YAUHEN Посмотреть сообщение
не могли бы вы написать что за ошибка и попытаться более описать что бы имеете ввиду под наложением картинок?
PS это что бы было всем понятней:
0


Суть дела: из списка выбирается две картинки (одна фотография, другая - рамка для нее - суть наложения рамки на фотографию). При нажатии на кнопку "сохранить", приложение принудительно закрывается. Eclipse ошибок никаких не выдает, поэтому не могу понять где что не правильно сделал.
0
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
28.08.2012, 11:36 #4
Цитата Сообщение от curumb Посмотреть сообщение
Eclipse ошибок никаких не выдает, поэтому не могу понять где что не правильно сделал.
для этого существует Logcat
если вам надо намалявать рамку на битмапке то поробуйте это или сразу это
0
curumb
0 / 0 / 0
Регистрация: 27.03.2010
Сообщений: 19
28.08.2012, 14:27  [ТС] #5
08-28 11:15:28.342: E/ActivityManager(71): ANR in my.camera.foto (my.camera.foto/.MainActivity)
08-28 11:15:28.342: E/ActivityManager(71): Reason: keyDispatchingTimedOut
08-28 11:15:28.342: E/ActivityManager(71): Load: 1.05 / 2.8 / 1.5
08-28 11:15:28.342: E/ActivityManager(71): CPU usage from 19069ms to 0ms ago:
08-28 11:15:28.342: E/ActivityManager(71): 4.9% 71/system_server: 3.8% user + 1% kernel / faults: 25 minor
08-28 11:15:28.342: E/ActivityManager(71): 0.5% 133/zygote: 0.3% user + 0.2% kernel / faults: 5 minor
08-28 11:15:28.342: E/ActivityManager(71): 0.1% 34/mediaserver: 0% user + 0.1% kernel
08-28 11:15:28.342: E/ActivityManager(71): 0.1% 41/adbd: 0% user + 0.1% kernel
08-28 11:15:28.342: E/ActivityManager(71): 0.1% 130/zygote: 0% user + 0% kernel / faults: 2 minor
08-28 11:15:28.342: E/ActivityManager(71): 0% 4/events/0: 0% user + 0% kernel
08-28 11:15:28.342: E/ActivityManager(71): 7.2% TOTAL: 5.2% user + 1.9% kernel + 0% softirq
08-28 11:15:28.342: E/ActivityManager(71): CPU usage from 3202ms to 4017ms later:
08-28 11:15:28.342: E/ActivityManager(71): 35% 71/system_server: 17% user + 18% kernel / faults: 4 minor
08-28 11:15:28.342: E/ActivityManager(71): 30% 102/InputDispatcher: 8.6% user + 22% kernel
08-28 11:15:28.342: E/ActivityManager(71): 3.7% 72/HeapWorker: 2.4% user + 1.2% kernel
08-28 11:15:28.342: E/ActivityManager(71): 1.2% 76/Compiler: 1.2% user + 0% kernel
08-28 11:15:28.342: E/ActivityManager(71): 1.2% 41/adbd: 0% user + 1.2% kernel
08-28 11:15:28.342: E/ActivityManager(71): 1.2% 67/logcat: 0% user + 1.2% kernel
08-28 11:15:28.342: E/ActivityManager(71): 44% TOTAL: 19% user + 25% kernel
08-28 11:15:28.472: I/InputDispatcher(71): Dropping event because the pointer is not down.
0
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
28.08.2012, 15:34 #6
это значит что у приложения my.camera.foto (my.camera.foto/.MainActivity) в UI потоке выполняется долго (более 5и секунд) операция которая его тормозит. все долгосрочные операции надо выполнять не в UI потоке. я бы вам посоветовал продебажить код для выяснения причины тормазов.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2012, 15:34
Привет! Вот еще темы с ответами:

Выдает ошибку что делать? - Joomla
jtablesession::Store Failed DB function failed with error number 1054 Unknown column 'client_id' in 'field list' SQL=INSERT INTO...

что не так в программе, выдает ошибку... - C++
помогите разобраться, пожалуйста, что не так?

в uses ошибку выдает что делать не знаю - Lazarus
Unit MyModul; Interface Procedure ADD (Var s1,s2:string); Function scep (s1,s2:string):string; Implementation Procedure...

Что я не так делаю? Выдает ошибку - Delphi
Делаю проект с модулем. Все сделал, а ошибку выдает. unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.08.2012, 15:34
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru