Comments (7)
Sorry for not being active as much as I would like to be.
from flutter_native_image.
Sorry for leaving you hanging. However, I don't quite understand your issue. Can you please provide sample code or something? Thank you
from flutter_native_image.
I'm having a similar issue.
My use case is simple:
- Take a picture
- Compress the picture
- Resize to create a thumbnail
At step 3, the generated file foo_compressed.jpg
overwritten the first generated one from step 2. So if I upload in the background it ends up uploading the thumbnail twice.
Also, my first attempt to work around this didn't work. I copied the image under a sub-directory like /thumbnails
but it still ended up overwriting. The generated foo_compressed.jpg
file is written directly under /tmp
without adding the sub-directory.
My second work around didn't work either. I named the thumbnail foo_t.jpg
and the plugin ended up replacing _t.jpg
with _compressed.jpg
.
My third try worked! I named the thumbnail foo.thumb.jpg
and the generated file ended up being foo.thumb_compressed.jpg
.
Would it be convenient to add an optional parameter to compressImage
like outputPath
?
Also, what is the fastest way of duplicating an image with Flutter?
Thanks!
from flutter_native_image.
I just noticed that on Android the compressed file is something like _compressed4654761654884463391.jpg
and not _compressed.jpg
.
from flutter_native_image.
I'd like to have a look at that. Mind sharing a simplified version of code to understand the issue better?
from flutter_native_image.
@snadon It must be just an iOS issue, then.
@btastic something like this:
static String IMAGE_URL = 'https://i.dailymail.co.uk/i/pix/2015/09/01/18/2BE1E88B00000578-3218613-image-m-5_1441127035222.jpg'
void main() async {
// get temp file path
final String filePath = join((await getApplicationDocumentsDirectory()).path, 'foo.png');
// download image to file
File(filePath).writeAsBytesSync((await get(IMAGE_URL)).bodyBytes);
// async compression
List<File> compressedFiles = await Future.wait([
FlutterNativeImage.compressImage(filePath, quality: 80),
FlutterNativeImage.compressImage(filePath, quality: 40),
]);
// ensure modified files have different paths
assert(compressedFiles[0].path != compressedFiles[1].path); // currently failing on iOS
}
Even though the compression itself may be quick, if I wanted to do something like upload the files asynchronously, the compressedFile is overwritten.
from flutter_native_image.
opened #44 that fixes this
from flutter_native_image.
Related Issues (20)
- Method compress must be called from the worker thread, currently inferred thread is UI thread
- Error Width / Height in Portrait mode
- Package Maintenance
- Deprecated FlutterNativeImagePlugin class in new version of flutter SDK (3.7.6)
- Compress Image to targeted size in kb or mb
- Cannot even use it
- Android build warning
- Exif information not preserving. HOT 1
- is there native blur hash ?
- allow loading of image by bytes HOT 2
- flutter version need Higher HOT 1
- How to use this plugin with image from Assets HOT 2
- .png file has blackbackground after crop HOT 4
- Crop image on Ios doesn't work HOT 2
- java.lang.outofmemoryerror android HOT 1
- Miui Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference HOT 2
- Unhandled Exception: PlatformException(create_error, Temporary file could not be created, null, null)
- bounds are outside of the dimensions of the source image HOT 1
- Add feature for adding filters in image files
- Web support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flutter_native_image.