Comments (7)
Thanks for taking the time to submit this. We'll try to get to it, but it seems like a tough one to track down if it only happens sometimes.. Does this happen with every sized image? Large ones? Small ones? I'm guessing you're getting the canvas
result, and not the html
one?
Would you expect the part of the image outside of the line to be part of the result or not part of the result, i.e. is the part that's underneath that line inside your viewport when cropping?
from croppie.
Thanks to you. yes using canvas.
i tested with a lot of images and it seems to happen with photos taken from my camera (13mega pixels).
the part outside the lines are also part of the result. its exactly how i selected it.
it seems now it created a portal to another dimension:
from croppie.
tested with large pictures from the internet. doesn't happen.
tested with small pictures from the internet. doesn't happen.
seems to only happen with pictures taken with my phone camera.
from croppie.
I observed this issue also, the lines can be horizontal and/or vertical.
I believe it has something to do with decimals in pixels.
It is most easily reproduced with large images and cropping smaller parts of the image with canvas result.
This only happens on Chrome for me and I've tested it on IE11, Edge, Firefox, Chrome, Safari.
I fixed it by changing the fix function to parse float to value without decimals (an integer).
This function is used throughout the project but by changing the transform values on img css (when cropping produces lines in image) by removing decimal places had an immediate effect on the cropped image (no lines).
The only place the fix function is used and needs decimals places is on zoom values I believe.
function getCanvasImage(img, data) {
...
left = fix(left);
top = fix(top);
width = fix(width);
height = fix(height);
outWidth = fix(outWidth);
outHeight = fix(outHeight);
ctx.drawImage(img, left, top, width, height, 0, 0, outWidth, outHeight);
return canvas.toDataURL();
}
function fix(v, fractionalDigits) {
return parseFloat(v).toFixed(fractionalDigits|| 0);
}
from croppie.
@Ulkuurz Thank you for your post. after some testing I think it solved the issue.
- edited the fix() function according to your post.
- edited the function calls where it is used to get a zoomer value (in 3 places) from fix(v) to fix(v, 2) .
@thedustinsmith what's your take on this? will it be included in the official version?
from croppie.
Looks good to me - I'll try to get a few changes in and release 1.0.4
today.
from croppie.
Thanks for the help. This is in 1.0.5
- the extra version just has the minified script.
from croppie.
Related Issues (20)
- Select Image instead of upload HOT 2
- Rotation results in inconsitent points
- Cropping round image also adds a black border to boundary.
- create a Custom shapes
- There aren't transform and transform-origin styles
- After cropping the result is 1/4 selected area HOT 1
- Crop image stretched
- Uncaught ReferenceError: opts is not defined
- update? HOT 4
- Croppie Slider not working properly
- Doesn't show results
- Square Preset of 1:1 or any other should be able to resized proportionally when trying to drag the grid control point.
- Is it possible to preload an image into the preview? HOT 1
- Can croppie be updated to support heic files? HOT 2
- action after image crop complete HOT 1
- size: "original" not being honoured in result method call HOT 1
- can we use croppie for multiple image crop in one page?
- It shows depricated APIs after updating flutter HOT 1
- Result size{width:n, height:n} not working HOT 2
- Zooming out indefinetly
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 croppie.