fourctv / dicomViewerLib

Angular 9+ DICOM Viewer Component and demo app
MIT License
41 stars 42 forks source link

Is there any option to save the dicom image (canvas element)? #14

Closed QeassureGitHub closed 4 years ago

QeassureGitHub commented 4 years ago

var link=document.getElementById("linkuse"); const uri=(document.getElementsByClassName("cornerstone-canvas")[0] as any).toDataURL('image/png',0.85); (link as any).href = uri; (link as any).download = "imageop"; (link as any).click(); var blob = this.dataURItoBlob(uri); saveAs(blob,"newoneds");

dataURItoBlob(dataURI) { // convert base64 to raw binary data held in a string // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this var byteString = atob(dataURI.split(',')[1]); // separate out the mime component var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0] // write the bytes of the string to an ArrayBuffer var ab = new ArrayBuffer(byteString.length); // create a view into the buffer var ia = new Uint8Array(ab); // set the bytes of the buffer to the correct values for (var i = 0; i < byteString.length; i++) { ia[i] = byteString.charCodeAt(i); } // write the ArrayBuffer to a blob, and you're done var blob = new Blob([ab], {type: mimeString}); return blob; }

I used the above code. But it is not working for me. Can you please check this?

QeassureGitHub commented 4 years ago

I fixed this in my code. Sorry for the inconvenience.

QeassureGitHub commented 4 years ago

I closed this.