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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.68
OT_VINTA
114 / 91 / 2
Регистрация: 13.02.2013
Сообщений: 260
#1

Как создать изображение png? - Программирование Android

25.03.2013, 16:01. Просмотров 2817. Ответов 14
Метки нет (Все метки)

Здравствуйте.
Подскажите как создать png изображение с фоном RGB, и с надписями (чтобы координаты надписи можно было выставить)

И, если можно, подскажите как сделать кнопку Поделиться для изображения.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2013, 16:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как создать изображение png? (Программирование Android):

Как поменять значок проги на свой png? - Программирование Android
Заменил все 4 ic_laucher'а в папках drawable на свой значок и не помогло - все равно зелёный робот. Помогите.

Как все png файлы проекта взять в BitmapFactory.decodeResource? - Программирование Android
все файлы, около 100 - слайды, находятся в папке raw. Как их от туда взять в переменную Bitmap, оставив название файла как имя переменной?

Как создать такой ViewPager или Как вообще такое создать? - Программирование Android
ВОТ КАРТИНКА

Как замостить изображение? - Программирование Android
Когда я хочу разместить картинку на форме в самый крайний угол или сторону, система не позволяет сделать так, чтобы изображение начиналось...

Как обрезать изображение? - Программирование Android
Добрый день, возник вопрос - как можно обрезать изображение с устройства, чтобы получить четверть от исходного изображения? Поиски привели...

Установить изображение как обои в программе - Программирование Android
Как мне установить какое-то конкретное изображение на обои в Android? Я не спрашиваю как пользователь, я хотел бы знать, какой код поможет...

14
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.03.2013, 16:03 #2
отдельно делаете надписи и отдельно изображение.
0
OT_VINTA
114 / 91 / 2
Регистрация: 13.02.2013
Сообщений: 260
25.03.2013, 16:27  [ТС] #3
Цитата Сообщение от V0v1k Посмотреть сообщение
отдельно делаете надписи и отдельно изображение.
Вот допустим пользователь ввел какие-то данные
по этим данным выводится 3 цвета например r = 150 g=255 b=90 - это цвет изображения
Далее надо на изображении "напечатать" введённый текст
затем это изображение отправить по e-mail skype и так. д .

я не могу понять как это сделать
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.03.2013, 16:32 #4
пользователь выбирает где должен быть текст?
0
OT_VINTA
114 / 91 / 2
Регистрация: 13.02.2013
Сообщений: 260
25.03.2013, 16:38  [ТС] #5
Цитата Сообщение от V0v1k Посмотреть сообщение
пользователь выбирает где должен быть текст?
нет
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.03.2013, 16:41 #6
делаете обычный TextView, в нем можно задать фон и текст, при помощи падингов и положение текста.

вот так View конвертится в Bitmap.

Java
1
2
3
4
5
6
7
8
9
10
11
public static Bitmap getBitmapFromView(View view) {
    Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(returnedBitmap);
    Drawable bgDrawable =view.getBackground();
    if (bgDrawable!=null) 
        bgDrawable.draw(canvas);
    else 
        canvas.drawColor(Color.WHITE);
    view.draw(canvas);
    return returnedBitmap;
}
вот так битмап можно записать в файл
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
//create a file to write bitmap data
File f = File(context.getCacheDir(), filename);
f.createNewFile();
 
//Convert bitmap to byte array
Bitmap bitmap = your bitmap;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG, 0 /*ignored for PNG*/, bos);
byte[] bitmapdata = bos.toByteArray();
 
//write the bytes in file
FileOutputStream fos = new FileOutputStream(f);
fos.write(bitmapdata);
0
OT_VINTA
114 / 91 / 2
Регистрация: 13.02.2013
Сообщений: 260
25.03.2013, 18:33  [ТС] #7
Подпишите пожалуйста где что, а то я не совсем понимаю.
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.03.2013, 18:43 #8
не понял что подписать...
0
OT_VINTA
114 / 91 / 2
Регистрация: 13.02.2013
Сообщений: 260
25.03.2013, 19:12  [ТС] #9
Каждый шаг
как во втором коде подписано

//create a file to write bitmap data
и тд.
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.03.2013, 19:36 #10
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// get bitmap from view
public static Bitmap getBitmapFromView(View view) {
    //create bitmap
    Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),Bitmap.Config.ARGB_8888);
    //create canvas
    Canvas canvas = new Canvas(returnedBitmap);
    //get background drawable
    Drawable bgDrawable =view.getBackground();
    if (bgDrawable!=null) {
        //draw background drawable
        bgDrawable.draw(canvas);
    }else {
         //draw white background
        canvas.drawColor(Color.WHITE);
     }
    //draw view
    view.draw(canvas);
     //return bitmap
    return returnedBitmap;
}
1
OT_VINTA
114 / 91 / 2
Регистрация: 13.02.2013
Сообщений: 260
25.03.2013, 23:24  [ТС] #11
А можно Всё это сделать не через Textview а через Web view?
Просто мне дизайн проще через html оформить (так же в этом случае не требуется создавать отдельно фон и надписи, т.к. они прописаны через html.)
А вот еще, как сделать отправку этой картинки, чтобы по нажатию на кнопку она сохранялась, и автоматически выводилось меню спомощью чего эту картинку отправить (skype e-mail и тд)
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
26.03.2013, 15:41 #12
Цитата Сообщение от OT_VINTA Посмотреть сообщение
А можно Всё это сделать не через Textview а через Web view?
можно.

Цитата Сообщение от OT_VINTA Посмотреть сообщение
А вот еще, как сделать отправку этой картинки, чтобы по нажатию на кнопку она сохранялась, и автоматически выводилось меню спомощью чего эту картинку отправить (skype e-mail и тд)
как записать в файл уже писал.
отправка:
Java
1
2
3
4
5
6
7
8
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(filePath));
try
{
    startActivity(Intent.createChooser(intent, "Sending File..."));
}
1
OT_VINTA
114 / 91 / 2
Регистрация: 13.02.2013
Сообщений: 260
26.03.2013, 21:10  [ТС] #13
Я наверное тупой, но у меня получается только создать битмап.
Создать файл не получается :-(

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
public class FullscreenActivity extends Activity {
    String surname, name, patronymic, surname_translit, name_translit, patronymic_translit;
    EditText surname_vvod, name_vvod, patronymic_vvod;
    WebView mWebView;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fullscreen);
 
        mWebView = (WebView) findViewById(R.id.YourColor);
        surname_vvod = (EditText) findViewById(R.id.editText1);
        name_vvod = (EditText) findViewById(R.id.editText2);
        patronymic_vvod = (EditText) findViewById(R.id.editText3);
        final Button button1 = (Button) findViewById(R.id.button1);
        final Button button2 = (Button) findViewById(R.id.button2);
 //Ещё код
        mWebView.loadDataWithBaseURL(null, npage, "text/html", "UTF-8", null);
        button1.setOnClickListener(new View.OnClickListener() {
 
            public void onClick(View v){
//Ещё код
                    mWebView.loadDataWithBaseURL(null, html, "text/html", "UTF-8", null);
                }
            }
        });
        button2.setOnClickListener(new View.OnClickListener() {
 
            public void onClick(View v){
                Bitmap returnedBitmap = Bitmap.createBitmap(mWebView.getWidth(), mWebView.getHeight(),Bitmap.Config.ARGB_8888);
                Canvas canvas = new Canvas(returnedBitmap);
                Drawable bgDrawable = mWebView.getBackground();
                if (bgDrawable!=null) 
                    bgDrawable.draw(canvas);
                else 
                    canvas.drawColor(Color.WHITE);
                mWebView.draw(canvas);              
            }
            });
    }
}
Добавлено через 1 час 30 минут
Помогите пожалуйста
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.03.2013, 12:27 #14
я писал здесь код как сохранять в файл.
0
OT_VINTA
114 / 91 / 2
Регистрация: 13.02.2013
Сообщений: 260
27.03.2013, 12:33  [ТС] #15
Цитата Сообщение от V0v1k Посмотреть сообщение
я писал здесь код как сохранять в файл.
не получается правильно его вставить
0
27.03.2013, 12:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2013, 12:33
Привет! Вот еще темы с ответами:

Как преобразовать изображение в черно белое? - Программирование Android
Как преобразовать изображение из цветного в черно белое?

Как пересохранить изображение с уменьшенным разрешением - Программирование Android
Ситуация - есть путь до файла (полный) Файл - это изображение из галереи с большим разрешением Например 4000 на 2300 пикселей. Как...

Как передать ссылку на изображение в другое Activity - Программирование Android
Привет, пытаюсь сделать что то типа ежедневника. столкнулся с проблемой. В общем. Имеется 1 Активити, на нем ImageView (смайлик), по...

Как обработать нажатие на изображение в элементе listView? - Программирование Android
Как все знают, listView делится на множество элементов, нажатия на них можно обработать... Но во многих listView помимо тескат часто...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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