Kategori arşivi: Uncategorized

stringStartsWith with ash shell

for busybox shell ash, string starts with function

 

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
stringstartswith(){
    local len=$(expr length $2)
    local input=$(expr substr $1 1 $len)
        if [ $input = $2 ];then
            echo true
        else
            echo false
        fi

}

www.imageeditor.online is published

for a while I was working on a html based online “image/photo editor” that you don’t need to install anything for image/photo process.now I have published the first version.

just type www.imageeditor.online , completely free

It supports multi layer, multi workspace,image effects and more…

enjoy

www.imageeditor.online yayında

bir süredir üzerinde çalıştığım, angular temelli bir image editor programı olan www.imageeditor.online nihayet ilk sürüm aşamasına geldi.

multi layer,multi selection, multi workspace, image effects,pixel to pixel work  gibi bir çok yetenek barındıyor.

imaj işlemlerinizde yardımcı olması dileğiyle.

createImageBitmap function polyfill with ImageData

Edge browser does not contain createBitmapImage function.

if you want to use it with ImageData

you can use this function as polyfill with typescript


Window.prototype.createImageBitmap = function(imageData):Promise{

return new Promise((resolve,reject)=>{

let canvas=document.createElement('canvas');
canvas.width=imageData.width;
canvas.height=imageData.height;
let context= canvas.getContext("2d");
context.putImageData(imageData,0,0);
return resolve(canvas);

});

}

typescript extension methods

Typescript ile extension method nasıl yazılır.

let x: number = 5.5;

let rounded = Math.round(x);

böyle yazmaktan sıkıldıysanız.

let rounded = x.extRound(); 

şeklinde yazmak isterseniz.

 

extensions.ts adlı bir dosya açalım

 

 

interface Number {

    extRound: () => number;

}

Number.prototype.extRound = function(): number {

    return Math.round(this);

}

calculator.ts dosyasında söyle kullanalım

 

 

import "./extensions";

export class calculator {

 public   roundedVal(): number {
   let test = 5.5;
   return test.extRound();
 }

}

Tabiki burada extension methodlar yazarken dikkat edilmesi gereken, methodlara mutlaka unique bir isim vermeniz. aksi takdirde kullandığınız diğer library’lerden aynı isimli methodları ezme ihtimaliniz var. bu yüzden ben methodun başına ext koydum.