code Thi Thuc Hanh Xu Ly Anh Qt creator

Post on 02-Jun-2018

243 views 0 download

Transcript of code Thi Thuc Hanh Xu Ly Anh Qt creator

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    1/27

    TNG HP CC BUI THC HNH

    BUI 1,2

    L Duy Thanh-

    Th vin:

    #include#include#include

    #include

    1. X l button Chn

    voidMainWindow::on_btnchon_cliced!" Q$t%ing&name'QFileDialog::get(penFile)ame!thi*+,*elect&ile,+,-:.,"/ i&!&name0i*-mpt1!"" %etu%n/

    ui2>txtchonanh2>*et3ext!&name"/ ..QPixmappixmap!&name"/ ..QLabel4label'newQLabel!"/ ..label2>*etPixmap!pixmap"/ ..label2>*how!"/5

    2. Th! "#! $%n& t'! (nh X%)

    3. voidMainWindow::on_bnt*taxam_cliced!"

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    2/27

    4. 5. Q6mageimage_in!ui2>txtchonanh2>text!""/..docanhtu&ileanh6. ..3aoanhet7uac8ichthuocbanganhdauvao7. Q6mage

    image_out!image_in0width!"+image_in0height!"+Q6mage::Fo%mat_9;="/8. intc'ui2>txtmucxam2>text!"0to6nt!"/..biendoichuoithanh*o9. &o%!intx'/xtxtmucxam2>text!"0to6nt!"/..biendoichuoithanh*o &o%!intx'/x

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    3/27

    i&!out>=@@"out'=@@/..iemt%aout el*ei&!outpiamapvagancholabel label_in2>*etPixmap!QPixmap::&%om6mage!image_in""/ label_in2>*how!"/

    ..hienthianhxul1 QLabel4label_out'newQLabel!"/ ..Doiimage2>piamapvagancholabel label_out2>*etPixmap!QPixmap::&%om6mage!image_out""/ label_out2>*how!"/

    }

    .+ Th! "#! "/ t0n& h(n (nh 3%)

    voidMainWindow::on_bntanhxam_pt_cliced!" Q6mageimage_in!ui2>txtchonanh2>text!""/..docanhtu&ileanh ..3aoanhet7uac8ichthuocbanganhdauvao Qimageimage_out!image_in0width!"+image_in0height!"+Q6mage::Fo%mat_9;="/ &loatc'ui2>txtdtphan2>text!"0toFloat!"/..biendoichuoithanh*o &o%!intx'/ximage_out2>text!""/ tochucdo!image_out+H=I"/

    }

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    4/27

    4+ Th "#! "/ t0n& h(n (nh )-u

    voidMainWindow::on_bntanhmau_tp_cliced!" Q6mageimage_in!ui2>txtchonanh2>text!""/..docanhtu&ileanh ..3aoanhet7uac8ichthuocbanganhdauvao

    Q6mageimage_out!image_in0width!"+image_in0height!"+Q6mage::Fo%mat_9;="/ &loatc'ui2>txtdtphan2>text!"0toFloat!"/..biendoichuoithanh*o &o%!intx'/xtxtphannguong2>text!"0to6nt!"/..biendoichuoithanh*o &o%!intx'/x

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    5/27

    image_out0*etPixel!x+1+colo%_out"/ 5 ..Aienthianhgoc QLabel4label_in'newQLabel!"/ ..Doiimage2>piamapvagancholabel label_in2>*etPixmap!QPixmap::&%om6mage!image_in""/ label_in2>*how!"/

    ..hienthianhxul1 QLabel4label_out'newQLabel!"/ ..Doiimage2>piamapvagancholabel label_out2>*etPixmap!QPixmap::&%om6mage!image_out""/ label_out2>*how!"/5

    8+ Ph6n n&07n& (nh )-u

    voidMainWindow::on_bntphannguonganhmau_cliced!" Q6mageimage_in!ui2>txtchonanh2>text!""/..docanhtu&ileanh ..3aoanhet7uac8ichthuocbanganhdauvao Q6mageimage_out!image_in0width!"+image_in0height!"+Q6mage::Fo%mat_9;="/ intc'ui2>txtphannguong2>text!"0to6nt!"/..biendoichuoithanh*o &o%!intx'/x

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    6/27

    i&!&name0i*-mpt1!"" %etu%n/ ui2>txtchonanhH2>*et3ext!&name"/5

    voidMainWindow::on_bntchonanh=_cliced!" Q$t%ing&name'QFileDialog::get(penFile)ame!"/ i&!&name0i*-mpt1!"" %etu%n/ ui2>txtchonanh=2>*et3ext!&name"/5

    voidMainWindow::on_bntconganh_cliced!" Q6mageanhH!ui2>txtchonanhH2>text!""/ Q6mageanh=!ui2>txtchonanh=2>text!""/ &loattile'ui2>txtopcciti2>text!"0toFloat!"/ Q6mageimagecong!anhH0width!"+anhH0height!"+Q6mage::Fo%mat_9;="/ &o%!intx'/xtxtopcciti2>text!"0toFloat!"/ Q6mageimaget%u!anhH0width!"+anhH0height!"+Q6mage::Fo%mat_9;="/ &o%!intx'/x

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    7/27

    &o%!int1'/1piamapvagancholabel label_inH2>*etPixmap!QPixmap::&%om6mage!anhH""/ label_inH2>*how!"/

    QLabel4label_in='newQLabel!"/ ..Doiimage2>piamapvagancholabel label_in=2>*etPixmap!QPixmap::&%om6mage!anh=""/ label_in=2>*how!"/

    ..hienthianhxul1 QLabel4label_out'newQLabel!"/ ..Doiimage2>piamapvagancholabel label_out2>*etPixmap!QPixmap::&%om6mage!imaget%u""/ label_out2>*how!"/5

    1=+ T# >h?> "@ (nh 3%)

    voidMainWindow::tochucdo!con*tQ6mageGimg+con*tintGhi*_height" inthJ=@K/ &o%!inti'/i*etPixmap!QPixmap::&%om6mage!img""/ label_in2>*how!"/ QLabel4label_out'newQLabel!"/ label_out2>*etPixmap!QPixmap::&%om6mage!img_hi*""/ label_out2>*how!"/

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    8/27

    }

    G! h-) t# >h?> "@

    voidMainWindow::on_btnchon_=_cliced!" Q6mageimage!ui2>txtchonanh_tcd2>text!""/ tochucdo!image+H=I"/5voidMainWindow::on_bntchon_tcd_cliced!" Q$t%ing&name'QFileDialog::get(penFile)ame!"/ i&!&name0i*-mpt1!"" %etu%n/ ui2>txtchonanh_tcd2>*et3ext!&name"/

    }A0u h! b%o h-) t;on& lD hEFE;$

    p%ivate: Bi::MainWindow4ui/ voidtochucdo!con*tQ6mageGimg+con*tintGhi*_height"/ voidtochucdoanhmau!con*tQ6mageGimage+con*tintGhi*_height"/

    }

    11+ T# >h?> "@ (nh )-u

    voidMainWindow::tochucdoanhmau!con*tQ6mageGimage+con*tintGhi*_height"

    Q6mageimage_hi*H'Q6mage!=@K+hi*_height+Q6mage::Fo%mat_9;="/ Q6mageimage_hi*='Q6mage!=@K+hi*_height+Q6mage::Fo%mat_9;="/

    Q6mageimage_hi*'Q6mage!=@K+hi*_height+Q6mage::Fo%mat_9;="/ image_hi*H0&ill!Qt::white"/ image_hi*=0&ill!Qt::white"/ image_hi*0&ill!Qt::white"/ inth%J=@K+hgJ=@K+hbJ=@K/ &o%!inti'/imax"max'h%Ji/ i&!hgJi>max"max'hgJi/ i&!hbJi>max"max'hbJi/ 5

    intlineAeight/

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    9/27

    &o%!inti'/ihi*_height2H2lineAeight/N22" image_hi*=0*etPixel!i+N+79gb!+=@@+""/

    lineAeight'hi*_height4hbJi.max/ &o%!intN'hi*_height2H/N>hi*_height2H2lineAeight/N22" image_hi*0*etPixel!i+N+79gb!++=@@""/ 5 QLabel4label_in'newQLabel!"/ label_in2>*etPixmap!QPixmap::&%om6mage!image""/ label_in2>*how!"/

    QLabel4label_outH'newQLabel!"/ label_outH2>*etPixmap!QPixmap::&%om6mage!image_hi*H""/ ..label_out2>*etWindow3itle!QFile6n&o!ui2>line-dit2>text!""0&ile)ame!""/

    label_outH2>*how!"/ QLabel4label_out='newQLabel!"/ label_out=2>*etPixmap!QPixmap::&%om6mage!image_hi*=""/ ..label_out2>*etWindow3itle!QFile6n&o!ui2>line-dit2>text!""0&ile)ame!""/ label_out=2>*how!"/ QLabel4label_out'newQLabel!"/ label_out2>*etPixmap!QPixmap::&%om6mage!image_hi*""/ ..label_out2>*etWindow3itle!QFile6n&o!ui2>line-dit2>text!""0&ile)ame!""/ label_out2>*how!"/

    }

    !"i h$ %& ch'c ()

    voidMainWindow::on_bntanhmau_tcd_cliced!" Q6mageimage!ui2>txtchonanh_tcd2>text!""/ tochucdoanhmau!image+H="/

    }

    12+ nh 6) b(n (nh 3%)

    voidMainWindow::on_bnt_anhamban_cliced!" Q6mageimage_in!ui2>txtchonanh2>text!""/..docanhtu&ileanh ..3aoanhet7uac8ichthuocbanganhdauvao Q6mageimage_out!image_in0width!"+image_in0height!"+Q6mage::Fo%mat_9;="/

    &o%!intx'/x

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    10/27

    Q9gbcolo%_out'79gb!out+out+out"/..thanhphangiongnhau*ecomauxam ..anmauchopixel!x+1"t%enanhet7ua image_out0*etPixel!x+1+colo%_out"/ 5 ..Aienthianhgoc QLabel4label_in'newQLabel!"/ ..Doiimage2>piamapvagancholabel label_in2>*etPixmap!QPixmap::&%om6mage!image_in""/ label_in2>*how!"/ ..hienthianhxul1 QLabel4label_out'newQLabel!"/ ..Doiimage2>piamapvagancholabel label_out2>*etPixmap!QPixmap::&%om6mage!image_out""/ label_out2>*how!"/

    }

    1*+ nh 6) b(n (nh )-u

    voidMainWindow::on_bnt_anhamban_anhmau_cliced!" Q6mageimage_in!ui2>txtchonanh2>text!""/..docanhtu&ileanh Q6mageimage_out!image_in0width!"+image_in0height!"+Q6mage::Fo%mat_9;="/ &o%!intx'/xpiamapvagancholabel label_in2>*etPixmap!QPixmap::&%om6mage!image_in""/ label_in2>*how!"/

    ..hienthianhxul1 QLabel4label_out'newQLabel!"/ ..Doiimage2>piamapvagancholabel label_out2>*etPixmap!QPixmap::&%om6mage!image_out""/ label_out2>*how!"/

    }

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    11/27

    BUI *

    1. X l bunton Chn

    2. voidMainWindow::on_bntchon_cliced!"3. 4. Q$t%ing&name'QFileDialog::get(penFile)ame!"/5. i&!&name0i*-mpt1!""

    6. %etu%n/7. ui2>txtchonanh2>*et3ext!&name"/

    8. }

    2+ B!n "#! tun tnh (nh 3%)

    voidMainWindow::on_bnt_ax_bdtt_cliced!" Q6mageimg_in!ui2>txtchonanh2>text!""/ Q6mageimg_out!img_in0width!"+img_in0height!"+Q6mage::Fo%mat_9;"/ intmin'=@@/ intmax'/ &o%!intx'/xmax"max'g%a1/ i&!g%a1

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    12/27

    intg%a1' 7%a1!%gb"/ intcolo%_out'!=@@4!g%a12min"".!max2min"/ img_in0*etPixel!x+1+79gb!g%a1+g%a1+g%a1""/ img_out0*etPixel!x+1+79gb!colo%_out+colo%_out+colo%_out""/ 5 QLabel4label_H'newQLabel!"/ label_H2>*etPixmap!QPixmap::&%om6mage!img_in""/ label_H2>*etWindow3itle!,anhgoc,"/ label_H2>*how!"/ QLabel4label_='newQLabel!"/ label_=2>*etPixmap!QPixmap::&%om6mage!img_out""/ label_=2>*etWindow3itle!,anhgoc,"/ label_=2>*how!"/ ..Q$t%ing&n'QFileDialog::get$aveFile)ame!"/ ..img_out0*ave!&n"/ tochucdo!img_out+H=I"/

    5

    *+ B!n "#! tun tnh (nh )-u

    voidMainWindow::on_bnt_xm_bdtt_cliced!" Q6mageimage_in!ui2>txtchonanh2>text!""/ Q6mageimage_out!image_in0width!"+image_in0height!"+Q6mage::Fo%mat_9;="/

    intmax_%ed'/ intmin_%ed'=@@/ intmax_g%een'/ intmin_g%een'=@@/ intmax_blue'/ intmin_blue'=@@/ &o%!inti'/imax_%ed"max_%ed'colo%0%ed!"/ i&!colo%0%ed!"max_blue"max_blue'colo%0blue!"/ i&!colo%0blue!"

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    13/27

    QLabel4label_out'newQLabel!"/ label_out2>*etPixmap!QPixmap::&%om6mage!image_out""/

    ..label_out2>*etWindow3itle!QFile6n&o!ui2>txtchonanh2>text!""0&ile)ame!"?,;inh Ohung,"/

    label_out2>*how!"/ tochucdoanhmau!image_out+H=I"/

    }

    .+ CJn t# >h?> "K (nh 3%)

    voidMainWindow::on_bnt_ax_cbtcd_cliced!" Q6mageimage_in!ui2>txtchonanh2>text!""/ Q6mageimage_out!image_in0width!"+image_in0height!"+Q6mage::Fo%mat_9;="/ &loathJ=@K/ &o%!inti'/i

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    14/27

    label_out2>*how!"/ tochucdo!image_out+H=I"/

    }

    4+ CJn t# >h?> "@ (nh )-u

    voidMainWindow::on_bnt_am_cbtcd_cliced!" Q6mageimage_in!ui2>txtchonanh2>text!""/ Q6mageimage_out!image_in0width!"+image_in0height!"+Q6mage::Fo%mat_9;="/ &loath%J=@K+hgJ=@K+hbJ=@K/ &o%!inti'/i*how!"/

    QLabel4label_out'newQLabel!"/ label_out2>*etPixmap!QPixmap::&%om6mage!image_out""/ ..label_out2>*etWindow3itle!QFile6n&o!ui2>txtchonanh2>text!""0&ile)ame!"?,et7ua,"/ label_out2>*how!"/ tochucdoanhmau!image_out+H=I"/5

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    15/27

    5+ A> T;un& BLnh

    voidMainWindow::on_bnt_loct%ingbinh_cliced!" Q6mageimage_in!ui2>txtchonanh2>text!""/ intma%gin'H/ intcell'/ Q6mageimage_out!image_in0width!"2ma%gin+image_in0height!"2ma%gin+Q6mage::Fo%mat_9;="/ QColo%colo%/ int*um9+*um+*um;/ &o%!intx'ma%gin/x

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    16/27

    hJ'g%a1/ ??/ 5 7$o%t!h+h?cell"/ intm'/ image_out0*etPixel!x+1+79gb!hJm+hJm+hJm""/5 QLabel4label_in'newQLabel!"/ label_in2>*etPixmap!QPixmap::&%om6mage!image_in""/ label_in2>*etWindow3itle!,anhgoc,"/ label_in2>*how!"/

    QLabel4label_out'newQLabel!"/ label_out2>*etPixmap!QPixmap::&%om6mage!image_out""/ label_out2>*etWindow3itle!QFile6n&o!ui2>txtchonanh2>text!""0&ile)ame!"?,et7ua,"/ label_out2>*how!"/ tochucdo!image_out+H=I"/5

    9. A> MEF!n (nh )-u

    10. voidMainWindow::on_bnt_locmedian_am_cliced!"11. 12. Q6mageimage_in!ui2>txtchonanh2>text!""/13. intma%gin'H/14. intcell'/15. inth9J+hJ+h;J/16. Q6mageimage_out!image_in0width!"2ma%gin+17. image_in0height!"2ma%gin+Q6mage::Fo%mat_9;="/18.

    19. QColo%colo%/20. &o%!intx'ma%gin/x

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    17/27

    45. label_out2>*etPixmap!QPixmap::&%om6mage!image_out""/46. label_out2>*etWindow3itle!QFile6n&o!ui2>txtchonanh2

    >text!""0&ile)ame!"?,et7ua,"/47. label_out2>*how!"/48. tochucdoanhmau!image_in+H=I"/49. tochucdoanhmau!image_out+H=I"/50. 5

    BUI .

    1. X l button Chn

    =0 voidMainWindow::on_bntchon_cliced!"0 0 Q$t%ing&name'QFileDialog::get(penFile)ame!"/@0 i&!&name0i*-mpt1!""K0 %etu%n/I0 ui2>txtchonanh2>*et3ext!&name"/0 5

    2+ G;F!Ent (nh 3%)

    voidMainWindow::on_bnt_g%adient_cliced!"Q6mageimage_in!ui2>txtchonanh2>text!""/Q6mageimage_out_x!image_in0width!"2H+image_in0height!"+Q6mage::Fo%mat_9;="/Q6mageimage_out_1!image_in0width!"+image_in0height!"2H+Q6mage::Fo%mat_9;="/QColo%colo%/ ..locduongbiendoc &o%!inti'/i

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    18/27

    Q9gbcolo%H'image_in0pixel!i+N"/ intg%a1H'7%a1!colo%H"/ ..Q9gbcolo%_in'79gb!g%a1H+g%a1H+g%a1H"/ image_in0*etPixel!i+N+colo%H"/ Q9gbcolo%='image_in0pixel!i?H+N"/ intg%a1='7%a1!colo%="/ intnewg%a1'ab*!g%a1=2g%a1H"/ image_out_x0*etPixel!i+N+79gb!newg%a1+newg%a1+newg%a1""/ 5 5 &o%!inti'/i

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    19/27

    intnewg%a1H'ab*!colo%=0%ed!"2colo%H0%ed!""/ intnewg%a1='ab*!colo%=0g%een!"2colo%H0g%een!""/ intnewg%a1'ab*!colo%=0blue!"2colo%H0blue!""/ image_out_x0*etPixel!i+N+79gb!newg%a1H+newg%a1=+newg%a1""/ 5 5 &o%!inti'/i%>h 1

    voidMainWindow::on_bnt_%obe%t*_cliced!"Q6mageimage_in!ui2>txtchonanh2>text!""/Qimageimage_out_x!image_in0width!"+image_in0height!"+Q6mage::Fo%mat_9;="/Q6mageimage_out_1!image_in0width!"+image_in0height!"+Q6mage::Fo%mat_9;="/

    ..locduongbiendoc &o%!inti'/i

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    20/27

    5 &o%!inti'/i%>h 2

    voidMainWindow::on_bnt_%obe%t*_=_cliced!"Q6mageimage_in!ui2>txtchonanh2>text!""/Q6mageimage_out_E!image_in0width!"+image_in0height!"+Q6mage::Fo%mat_9;="/

    Q6mageimage_out_R!image_in0width!"+image_in0height!"+Q6mage::Fo%mat_9;="/ intma*$iSe'=/ intma%gin'ma*$iSe.=/ intma*HJ=J=/ intma*=J=J=/ ma*HJJ'H/ma*HJHJ'/ ma*HJJH'/ma*HJHJH'2H/ ma*=JJ'/ma*=JHJ'H/ ma*=JJH'2H/ma*=JHJH'/

    &o%!intx'ma%gin/x

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    21/27

    5 QLabel4label_in'newQLabel!"/ label_in2>*etPixmap!QPixmap::&%om6mage!image_in""/ ..label_in2>*etWindow3itle!QFile6n&o!ui2>line-dit2>text!""0&ile)ame!""/ label_in2>*how!"/

    QLabel4label_out_E'newQLabel!"/ label_out_E2>*etPixmap!QPixmap::&%om6mage!image_out_E""/ ..label_out_E2>*etWindow3itle!QFile6n&o!ui2>line-dit2>text!""0&ile)ame!"?,E,"/ label_out_E2>*how!"/

    QLabel4label_out_R'newQLabel!"/ label_out_R2>*etPixmap!QPixmap::&%om6mage!image_out_R""/ ..label_out_R2>*etWindow3itle!QFile6n&o!ui2>line-dit2>text!""0&ile)ame!"?,R,"/ label_out_R2>*how!"/

    5

    5+ obE;t$ (nh )-u

    voidMainWindow::on_bnt_%obe%t*_mau_cliced!"

    Q6mageimage_in!ui2>txtchonanh2>text!""/Q6mageimage_out_x!image_in0width!"2H+image_in0height!"+Q6mage::Fo%mat_9;="/Q6mageimage_out_1!image_in0width!"+image_in0height!"2H+Q6mage::Fo%mat_9;="/ ..locduongbiendoc

    &o%!inti'/i

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    22/27

    5 QLabel4label_in'newQLabel!"/ label_in2>*etPixmap!QPixmap::&%om6mage!image_in""/ label_in2>*how!"/ QLabel4label_x'newQLabel!"/ label_x2>*etPixmap!QPixmap::&%om6mage!image_out_x""/ label_x2>*etWindow3itle!QFile6n&o!ui2>txtchonanh2>text!""0&ile)ame!"?,anhgx,"/ label_x2>*how!"/ QLabel4label_1'newQLabel!"/ label_12>*etPixmap!QPixmap::&%om6mage!image_out_1""/ label_12>*etWindow3itle!QFile6n&o!ui2>txtchonanh2>text!""0&ile)ame!"?,anhg1,"/ label_12>*how!"/5

    8+ OobEl (nh 3%)

    voidMainWindow::on_bnt_*obel_mau_cliced!" Q6mageimage_in!ui2>txtchonanh2>text!""/ intma%gin'H/

    intmangJ'2H+2=+2H++++H+=+H5/ intmangHJ'2H++H+2=++=+2H++H5/Q6mageimage_out!image_in0width!"2ma%gin+image_in0height!"2ma%gin+Q6mage::Fo%mat_9;="/Q6mageimage_outH!image_in0width!"2ma%gin+image_in0height!"2ma%gin+Q6mage::Fo%mat_9;="/ int*um+*umH/ Q9gbcolo%/ &o%!intx'ma%gin/x

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    23/27

    5

    9OobEl (nh )-u

    voidMainWindow::on_bnt_*obel_cliced!"

    Q6mageimage_in!ui2>txtchonanh2>text!""/ intma%gin'H/ intmangJ'2H+2=+2H++++H+=+H5/ intmangHJ'2H++H+2=++=+2H++H5/Q6mageimage_out!image_in0width!"2ma%gin+image_in0height!"2ma%gin+Q6mage::Fo%mat_9;="/Q6mageimage_outH!image_in0width!"2ma%gin+image_in0height!"2ma%gin+Q6mage::Fo%mat_9;="/ int*um9+*um+*um;+*um9H+*umH+*um;H/ QColo%colo%/ QColo%colo%H/ &o%!intx'ma%gin/x*etPixmap!QPixmap::&%om6mage!image_outH""/ label=2>*how!"/

    QLabel4labelH'newQLabel!"/ labelH2>*etPixmap!QPixmap::&%om6mage!image_in""/ labelH2>*how!"/

    QLabel4label'newQLabel!"/ label2>*etPixmap!QPixmap::&%om6mage!image_out""/ label2>*how!"/

    5

    9. T>h >hQ (nh 3%)

    H0 voidMainWindow::on_bnt_tichchap_cliced!"HH0

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    24/27

    H=0 Q6mageimage_in!ui2>txtchonanh2>text!""/H0 intma%gin'H/

    Q6mageimage_out_E!image_in0width!"2ma%gin+image_in0height!"2ma%gin+Q6mage::Fo%mat_9;="/Q6mageimage_out_R!image_in0width!"2ma%gin+image_in0height!"2ma%gin+Q6mage::Fo%mat_9;="/

    H0H@0 &loatJ/HK0HI0 J'ui2>line-dit_H2>text!"0toFloat!"/H0 JH'ui2>line-dit_=2>text!"0toFloat!"/H0 J='ui2>line-dit_2>text!"0toFloat!"/=0 J'ui2>line-dit_2>text!"0toFloat!"/=H0 J'ui2>line-dit_@2>text!"0toFloat!"/==0 J@'ui2>line-dit_K2>text!"0toFloat!"/=0 JK'ui2>line-dit_I2>text!"0toFloat!"/=0 JI'ui2>line-dit_2>text!"0toFloat!"/=@0 J'ui2>line-dit_2>text!"0toFloat!"/=K0 &o%!intx'ma%gin/x*etPixmap!QPixmap::&%om6mage!image_in""/0 label_in2>*etWindow3itle!QFile6n&o!ui2>txtchonanh2

    >text!""0&ile)ame!""/0 label_in2>*how!"/@0K0 QLabel4label_out_E'newQLabel!"/I0 label_out_E2>*etPixmap!QPixmap::&%om6mage!image_out_E""/0 label_out_E2>*etWindow3itle!QFile6n&o!ui2>txtchonanh2

    >text!""0&ile)ame!"?,E,"/0 label_out_E2>*how!"/@0

    @H0 QLabel4label_out_R'newQLabel!"/@=0 label_out_R2>*etPixmap!QPixmap::&%om6mage!image_out_R""/@0 label_out_R2>*etWindow3itle!QFile6n&o!ui2>txtchonanh2

    >text!""0&ile)ame!"?,R,"/@0 label_out_R2>*how!"/@@0 5

    1=+ T>h >hQ (nh )-u

    voidMainWindow::on_bnt_tichchap_mau_cliced!"

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    25/27

    Q6mageimage_in!ui2>txtchonanh2>text!""/ intma%gin'H/Q6mageimage_out_E!image_in0width!"2ma%gin+image_in0height!"2ma%gin+Q6mage::Fo%mat_9;="/Q6mageimage_out_R!image_in0width!"2ma%gin+image_in0height!"2ma%gin+Q6mage::Fo%mat_9;="/ &loatmangJ/ mangJ'ui2>line-dit_H2>text!"0toFloat!"/ mangJH'ui2>line-dit_=2>text!"0toFloat!"/ mangJ='ui2>line-dit_2>text!"0toFloat!"/ mangJ'ui2>line-dit_2>text!"0toFloat!"/ mangJ'ui2>line-dit_@2>text!"0toFloat!"/ mangJ@'ui2>line-dit_K2>text!"0toFloat!"/ mangJK'ui2>line-dit_I2>text!"0toFloat!"/ mangJI'ui2>line-dit_2>text!"0toFloat!"/ mangJ'ui2>line-dit_2>text!"0toFloat!"/..intcell*'/..Q6mageimage_out!image_in0width!"2ma%gin+image_in0height!"2ma%gin+Q6mage::Fo%mat_9;="/

    int*um9H+*umH+*um;H+*um9=+*um=+*um;=/QColo%colo%/

    &o%!intx'ma%gin/x

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    26/27

    QLabel4label_out_R'newQLabel!"/label_out_R2>*etPixmap!QPixmap::&%om6mage!image_out_R""/label_out_R2>*etWindow3itle!QFile6n&o!ui2>txtchonanh2>text!""0&ile)ame!"?,R,"/ label_out_R2>*how!"/

    5

    11+ H!Rn thS (nh "(o n&0>

    voidMainWindow::on_bntanhdaonguoc_cliced!"Q6mageimage_in!ui2>txtchonanh2>text!""/..docanhtu&ileanh ..3aoanhet7uac8ichthuocbanganhdauvaoQ6mageimage_out!image_in0width!"+image_in0height!"+Q6mage::Fo%mat_9;="/intc'ui2>txtmucxam2>text!"0to6nt!"/..biendoichuoithanh*o &o%!intx'/xpiamapvagancholabel label_in2>*etPixmap!QPixmap::&%om6mage!image_in""/ label_in2>*how!"/ ..hienthianhxul1 QLabel4label_out'newQLabel!"/ ..Doiimage2>piamapvagancholabel label_out2>*etPixmap!QPixmap::&%om6mage!image_out""/ label_out2>*how!"/ ..QPixmappixmap!4label_out2>pixmap!""/

    ..QMat%ix%m/ ..%m0%otate!2H"/..gocTUmVanh7ua1 ..pixmap'pixmap0t%an*&o%med!%m"/ ..label_out2>*etPixmap!pixmap"/

    }

    12+ OE (nh

    Q$t%ing&n'QFileDialog::get$aveFile)ame!"/

  • 8/10/2019 code Thi Thuc Hanh Xu Ly Anh Qt creator

    27/27

    i$g*ou%+save,n.