Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как сделать пролистывание слайдов (Прикреплена картинка-пример) Собственно вопрос в том с помощью чего можно сделать так что при нажатии на стрелку производился переход, как будто в читалке( возможно с использованием анимации) https://www.cyberforum.ru/ android-dev/ thread2205454.html Ошибка в Android Studio Программирование Android
Помогите. Первый раз запустил прогу, скачал все необходимые элементы ( включая те, на которые выходила ссылка в консоле проги), но чёт ничего не пашет. В консоле вылетает 2 ошибки, но я в них вообще...
Программирование Android Где вызывается Service Пишу свой навигатор, не могу понять, как подавать сигнал, когда человек достиг конечной цели. Навигатор умеет строить маршрут, остается разобрать c сигналом. Не понимаю, откуда именно должен... https://www.cyberforum.ru/ android-dev/ thread2205216.html Программирование Android Подключиться к удалённой БД из дома для отладки https://www.cyberforum.ru/ android-dev/ thread2205025.html
добрый день. на работе есть постгре база данных наша внутренняя. как мне дома смочь к ней подключиться для попыток отладить написанное? (подключиться, селектами запросики подёргать) можно через...
Программирование Android Деление Android разработчиков на Junior/Middle/Senior
Недавно мне скинули документ, в котором описываются навыки Android разработчика по категориям, я подумал, что это может пригодиться кому-то из форумчан, решил скинуть сюда ,чтобы было.
Программирование Android Не создается виртуальная машина в Android stydio Не создается виртуальная машина в Android stydio. Открываю окно содания, нажимаю Create, а там. https://www.cyberforum.ru/ android-dev/ thread2204882.html
Программирование Android Как воспроизводить рингтоны используя класс mediaPlayer один раз? https://www.cyberforum.ru/ android-dev/ thread2204795.html
Всех приветствую. Подскажите пожалуйста,как воспроизводить рингтоны без повторения,используя класс MediaPlayer? Я получаю строковое представление uri в курсоре,который я получаю методом getCursor...
Программирование Android Компоненты налезают друг на друга
По старой дельфийской привычке бодро покидал на форму компонентов (Button, ToggleButton, CheckedTextView и проч.). На превью смотрится всё нормально, на вкладке Text значения layout_editor_absoluteX...
Программирование Android Активити в Android Studio Заранее извиняюсь за вопросы от начинающего. Перешел в Delphi на Android Studio, увидел много реализованных полезных активити (Login, Preferences, Maps, AdMobs). Два вопроса: 1. Как из главной... https://www.cyberforum.ru/ android-dev/ thread2204514.html Программирование Android Toast.makeText. Параметр context https://www.cyberforum.ru/ android-dev/ thread2204513.html
public static void MyFunction(Context context, int param1, int param2) { // // // Toast.makeText(context, "qwerty", Toast.LENGTH_LONG).show(); } У меня служебная функция вызывает...
Программирование Android Определение и вывод местоположения
здравствуйте несколько дней только изучаю адроид студио, подскажите как мне вывести текущее мое местоположение на экран? Есть код: import android.location.Location; import...
Программирование Android Ошибка при генерировании базы данных https://www.cyberforum.ru/ android-dev/ thread2204095.html
Здравствуйте! У меня маленькая проблема. Скачал програму с гит хаба и хотел посмотреть что и как работает но у меня срузу же ошибка Error:Execution failed for task ':database:generateDatabase'....
3 / 3 / 1
Регистрация: 17.12.2016
Сообщений: 255
0

Наложение изображений друг на друга - Программирование Android - Ответ 12183968

04.03.2018, 22:07. Показов 1575. Ответов 5
Метки (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Задача такова. В приложение загружается произвольное изображение из галереи пользователя.
На него накладывается изображение рамки из ресурсов приложения и сохраняется результат.
Дело в том, что я не могу знать размер загружаемых изображений. Значит я должен менять размер своей рамки и подгонять под размеры загруженной картинки.
Вот код...

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
public class MainActivity extends Activity implements
android.view.View.OnClickListener {
 
    private Button loadButton;
    private ImageView image;
    private static final int REQUEST = 1;
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        ActionBar actionBar = getActionBar();     actionBar.hide();
        image = (ImageView) findViewById(R.id.imageView1);
        loadButton = (Button) findViewById(R.id.button1);
        loadButton.setOnClickListener(this);
    }
 
    @Override
    public void onClick(View v) {
        Intent i = new Intent(Intent.ACTION_PICK);
        i.setType("image/*");
        startActivityForResult(i, REQUEST);
    }
 
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
 
        Bitmap img = null;
 
        if (requestCode == REQUEST && resultCode == RESULT_OK) {
            Uri selectedImage = data.getData();
            try {
                img = Media.getBitmap(getContentResolver(), selectedImage);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            image.setImageBitmap(img);
        }
    }
    
// кнопка сохранения
    public void onsave (View v){
        Bitmap img;
        img = ((BitmapDrawable)image.getDrawable()).getBitmap();    
        Bitmap ram = BitmapFactory.decodeResource(getResources(),R.drawable.ramka);
        
        Bitmap newBitmap = overlay (img , ram);
        SaveImage(newBitmap);
    }
 
 
    private void SaveImage (Bitmap finalBitmap) {
 
        String root = Environment.getExternalStorageDirectory().toString();
        File myDir = new File(root);    
        myDir.mkdirs();
        Random generator = new Random();
        int n = 10000;
        n = generator.nextInt(n);
        String fname = "Image-"+ n +".jpg";
        File file = new File (myDir, fname);
        if (file.exists ()) file.delete (); 
        try {
            FileOutputStream out = new FileOutputStream(file);
            finalBitmap.compress(Bitmap.CompressFormat.JPEG, 98, out);
            out.flush();
            out.close();
            MediaStore.Images.Media.insertImage(getContentResolver(), file.getAbsolutePath(), file.getName(), file.getName());
        } catch (Exception e) {
            e.printStackTrace();
        }   
    }
    
    public Bitmap getResizedBitmap(Bitmap bm, int newWidth, int newHeight) {
        int width = bm.getWidth();
        int height = bm.getHeight();
        float scaleWidth = ((float) newWidth) / width;
        float scaleHeight = ((float) newHeight) / height;
        // CREATE A MATRIX FOR THE MANIPULATION
        Matrix matrix = new Matrix();
        // RESIZE THE BIT MAP
        matrix.postScale(scaleWidth, scaleHeight);
        // "RECREATE" THE NEW BITMAP
        Bitmap resizedBitmap = Bitmap.createBitmap(
            bm, 0, 0, width, height, matrix, false);
        bm.recycle();
        return resizedBitmap;
    }
    
    
    private Bitmap overlay(Bitmap bmp1, Bitmap bmp2) {
        Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig());
        Canvas canvas = new Canvas(bmOverlay);
        canvas.drawBitmap(bmp1, new Matrix(), null);
        canvas.drawBitmap(bmp2, new Matrix(), null);
        return bmOverlay;
    }
}
При наложении даже одинаковых размеров картинки и рамки, последняя ложится неровно. И как использовать getResizedBitmap ?

Вернуться к обсуждению:
Наложение изображений друг на друга Программирование Android
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.03.2018, 22:07
Готовые ответы и решения:

Наложение изображений
Подскажите пожалуйста, как наложить изображение на изображение. Пробую вот так: но последующая...

Наложение изображений друг на друга
Не получается наложить изображение 4.gpeg на logo.png. Второе изображение то что 4.gpeg просто...

Наложение 2 изображений друг на друга
Мучался, мучался, сам не додумался, нужна помощь:) Есть 2 изображения, ну и обычный див блок,...

Наложение двух изображений друг на друга
Задача такая: есть 1 фоновое изображение, и изображение, содержащее небольшой объект на прозрачном...

5
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2018, 22:07
Помогаю со студенческими работами здесь

Наложение нескольких изображений друг на друга с их выбором
Приветствую всех. На одной из страниц сайта хочу сделать выбор из двух форм ввода input типа...

Наложение друг на друга
Добрый день форумчане у меня происходит вот такое с чем это может быть связано?

Наложение pictureBox друг на друга
Добрый день, есть несколько picturebox(больше 3), их можно пермещать по форме, но картинки...

Наложение Collider2D друг на друга
Ситуация: 2 объекта находятся один на другом (наложены друг на друга). У обоих есть коллайдер...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru