mirror of
https://github.com/SimpleMobileTools/Simple-Draw.git
synced 2025-03-01 18:07:43 +01:00
Use the selected extension when saving
This commit is contained in:
parent
4b7f123a06
commit
b7d86c34da
app/src/main/java/com/simplemobiletools/draw
@ -94,6 +94,10 @@ public class MyCanvas extends View {
|
|||||||
return bitmap;
|
return bitmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<MyPath,PaintOptions> getPaths() {
|
||||||
|
return mPaths;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onDraw(Canvas canvas) {
|
protected void onDraw(Canvas canvas) {
|
||||||
super.onDraw(canvas);
|
super.onDraw(canvas);
|
||||||
|
@ -12,12 +12,11 @@ import java.util.Map;
|
|||||||
|
|
||||||
public class Svg {
|
public class Svg {
|
||||||
|
|
||||||
public static boolean saveSvg(File output,
|
public static boolean saveSvg(File output, MyCanvas canvas) {
|
||||||
Map<MyPath, PaintOptions> paths, int width, int height) {
|
|
||||||
try {
|
try {
|
||||||
FileOutputStream out = new FileOutputStream(output);
|
FileOutputStream out = new FileOutputStream(output);
|
||||||
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out));
|
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out));
|
||||||
writeSvg(writer, paths, width, height);
|
writeSvg(writer, canvas.getPaths(), canvas.getWidth(), canvas.getHeight());
|
||||||
writer.close();
|
writer.close();
|
||||||
return true;
|
return true;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
@ -20,11 +20,13 @@ import android.view.View;
|
|||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.SeekBar;
|
import android.widget.SeekBar;
|
||||||
|
import android.widget.Spinner;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.simplemobiletools.draw.Config;
|
import com.simplemobiletools.draw.Config;
|
||||||
import com.simplemobiletools.draw.MyCanvas;
|
import com.simplemobiletools.draw.MyCanvas;
|
||||||
import com.simplemobiletools.draw.R;
|
import com.simplemobiletools.draw.R;
|
||||||
|
import com.simplemobiletools.draw.Svg;
|
||||||
import com.simplemobiletools.draw.Utils;
|
import com.simplemobiletools.draw.Utils;
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
@ -163,6 +165,8 @@ public class MainActivity extends SimpleActivity implements MyCanvas.PathsChange
|
|||||||
|
|
||||||
final EditText fileNameET = (EditText) saveFileView.findViewById(R.id.file_name);
|
final EditText fileNameET = (EditText) saveFileView.findViewById(R.id.file_name);
|
||||||
fileNameET.setText(curFileName);
|
fileNameET.setText(curFileName);
|
||||||
|
|
||||||
|
final Spinner fileExtensionS = (Spinner) saveFileView.findViewById(R.id.file_extension);
|
||||||
builder.setView(saveFileView);
|
builder.setView(saveFileView);
|
||||||
|
|
||||||
builder.setPositiveButton(R.string.ok, null);
|
builder.setPositiveButton(R.string.ok, null);
|
||||||
@ -174,9 +178,9 @@ public class MainActivity extends SimpleActivity implements MyCanvas.PathsChange
|
|||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
final String fileName = fileNameET.getText().toString().trim();
|
final String fileName = fileNameET.getText().toString().trim();
|
||||||
|
final String extension = (String) fileExtensionS.getSelectedItem();
|
||||||
if (!fileName.isEmpty()) {
|
if (!fileName.isEmpty()) {
|
||||||
if (saveFile(fileName + ".png")) {
|
if (saveFile(fileName, extension)) {
|
||||||
curFileName = fileName;
|
curFileName = fileName;
|
||||||
Utils.showToast(getApplicationContext(), R.string.saving_ok);
|
Utils.showToast(getApplicationContext(), R.string.saving_ok);
|
||||||
alertDialog.dismiss();
|
alertDialog.dismiss();
|
||||||
@ -190,7 +194,7 @@ public class MainActivity extends SimpleActivity implements MyCanvas.PathsChange
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean saveFile(final String fileName) {
|
private boolean saveFile(final String fileName, final String extension) {
|
||||||
final String path = Environment.getExternalStorageDirectory().toString();
|
final String path = Environment.getExternalStorageDirectory().toString();
|
||||||
final File directory = new File(path, SAVE_FOLDER_NAME);
|
final File directory = new File(path, SAVE_FOLDER_NAME);
|
||||||
if (!directory.exists()) {
|
if (!directory.exists()) {
|
||||||
@ -199,13 +203,16 @@ public class MainActivity extends SimpleActivity implements MyCanvas.PathsChange
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final File file = new File(directory, fileName+extension);
|
||||||
|
switch (extension) {
|
||||||
|
case ".png":
|
||||||
final Bitmap bitmap = mMyCanvas.getBitmap();
|
final Bitmap bitmap = mMyCanvas.getBitmap();
|
||||||
FileOutputStream out = null;
|
FileOutputStream out = null;
|
||||||
try {
|
try {
|
||||||
final File file = new File(directory, fileName);
|
|
||||||
out = new FileOutputStream(file);
|
out = new FileOutputStream(file);
|
||||||
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
|
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
|
||||||
MediaScannerConnection.scanFile(getApplicationContext(), new String[]{file.getAbsolutePath()}, null, null);
|
MediaScannerConnection.scanFile(getApplicationContext(),
|
||||||
|
new String[]{file.getAbsolutePath()}, null, null);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log.e(TAG, "MainActivity SaveFile " + e.getMessage());
|
Log.e(TAG, "MainActivity SaveFile " + e.getMessage());
|
||||||
return false;
|
return false;
|
||||||
@ -218,6 +225,18 @@ public class MainActivity extends SimpleActivity implements MyCanvas.PathsChange
|
|||||||
Log.e(TAG, "MainActivity SaveFile 2 " + e.getMessage());
|
Log.e(TAG, "MainActivity SaveFile 2 " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ".svg":
|
||||||
|
if (!Svg.saveSvg(file, mMyCanvas)) {
|
||||||
|
Log.e(TAG, "MainActivity SaveFile failed.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user