Refactor transparency detection
parent
69146d7279
commit
f7c0d431c5
|
@ -824,22 +824,21 @@ function select_tool(tool, toggle){
|
||||||
// $toolbox2.update_selected_tool();
|
// $toolbox2.update_selected_tool();
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: factor this into a simple (pure) function, to be used like:
|
function has_any_transparency(ctx) {
|
||||||
// transparency = has_any_transparency(ctx);
|
|
||||||
function detect_transparency(){
|
|
||||||
transparency = false;
|
|
||||||
|
|
||||||
// @TODO Optimization: Assume JPEGs and some other file types are opaque.
|
// @TODO Optimization: Assume JPEGs and some other file types are opaque.
|
||||||
// Raster file formats that SUPPORT transparency include GIF, PNG, BMP and TIFF
|
// Raster file formats that SUPPORT transparency include GIF, PNG, BMP and TIFF
|
||||||
// (Yes, even BMPs support transparency!)
|
// (Yes, even BMPs support transparency!)
|
||||||
|
|
||||||
var id = ctx.getImageData(0, 0, canvas.width, canvas.height);
|
var id = ctx.getImageData(0, 0, canvas.width, canvas.height);
|
||||||
for(var i=0, l=id.data.length; i<l; i+=4){
|
for(var i=0, l=id.data.length; i<l; i+=4){
|
||||||
if(id.data[i+3] < 255){
|
if(id.data[i+3] < 255){
|
||||||
transparency = true;
|
return true;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function detect_transparency(){
|
||||||
|
transparency = has_any_transparency(ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
function make_monochrome_pattern(lightness){
|
function make_monochrome_pattern(lightness){
|
||||||
|
|
Loading…
Reference in New Issue