0
私たちは、ユーザーが画像をアップロードし、その上にテキストを書き込んだり、新しい画像をそのテキストと共に保存することを可能にするアプリケーションを作りようとしています。Androidスタジオのギャラリーにテキストをオーバーレイしてイメージを保存するにはどうすればよいですか?
現在の実装では、ImageViewを使用して画像を保持し、次にTextViewsを使用して上書きします。
イメージ全体を保存するにはどうすればよいでしょうか?以下は現在のコードです。
ありがとうございました! :)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_generator);
final EditText topTextInput = (EditText)findViewById(R.id.editTopText);
final EditText bottomTextInput = (EditText)findViewById(R.id.editBottomText);
final TextView topTextView = (TextView)findViewById(R.id.topText);
final TextView bottomTextView = (TextView)findViewById(R.id.bottomText);
imageView = (ImageView)findViewById(R.id.imageView2);
Button pickImage = (Button) findViewById(R.id.button2);
pickImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, SELECT_PHOTO);
}
});
topTextInput.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
topTextView.setText(topTextInput.getText() + "");
}
@Override
public void afterTextChanged(Editable editable) {
}
});
bottomTextInput.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
bottomTextView.setText(bottomTextInput.getText() + "");
}
@Override
public void afterTextChanged(Editable editable) {
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch(requestCode) {
case SELECT_PHOTO:
if(resultCode == RESULT_OK){
try {
final Uri imageUri = imageReturnedIntent.getData();
final InputStream imageStream = getContentResolver().openInputStream(imageUri);
final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
imageView.setImageBitmap(selectedImage);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
}
この質問が既に尋ねたと回答されている[こちら](https://でのstackoverflow .com/questions/2174875/image-on-canvas-to-jpeg-file)。 –
ええ、6年前...完全に廃止されました。 –