#android
#Android
Вопрос:
Я хочу знать, какие функции или библиотеки использует Instagram или другие приложения, такие как snapchat, для добавления текста на изображение, а затем превращения их обоих в изображение для публикации. Может ли кто-нибудь помочь мне узнать, что в Android
Я пробовал просмотр текста на изображении в макете фрейма, но этого делать не стоит
Комментарии:
1. что вы подразумеваете под «опубликовать»? ты имеешь в виду что — то вроде доли ?
Ответ №1:
Вы можете использовать RelativeLayout
<RelativeLayout
android:layout_width="200dp"
android:layout_height="200dp">
<ImageView
android:src="@drawable/your_image"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:layout_centerInParent="true"
android:textColor="@color/black"
android:text="text in center"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
Комментарии:
1. но мне нужно написать текст на изображении, и как я могу опубликовать их оба в виде изображения
2. чувак, просто добавь мой код в свой макет, тогда ты поймешь
3. и невозможно написать текст и опубликовать это изображение
4. не могли бы вы сказать мне, как я могу изменить этот относительный макет на растровое изображение
5. я не знаю другого вопроса, и вы должны задать новый вопрос
Ответ №2:
Вы можете создать представление по своему усмотрению, а затем преобразовать его в растровое изображение.
<RelativeLayout
android:id="@ id/myView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:src="@drawable/image"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="My text" />
</RelativeLayout>
Отправьте идентификатор вышеупомянутого представления (@ id / MyView) в нижеприведенную функцию, чтобы получить растровое изображение
public static Bitmap getBitmapFromView(View view) {
view.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);
Bitmap bitmap = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(),
Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
view.draw(canvas);
return bitmap;
}