網頁

2017年12月6日 星期三

EX10 C++ Bitmap去背或畫圓圖






51 則留言:

  1. B10533015 陳建志2017年12月6日 下午3:25

    #include<iostream>
    #include<cstdlib>

    using namespace std;

    #using <System.Drawing.dll>
    using namespace System::Drawing;
    void to_Gray(Bitmap^im) {
    int W = im->Width, H = im->Height;
    cout << "w=" << W << "H=" << H << endl;
    double c = W / 2.0;
    double r = c;
    Color p2,Black = Color::FromArgb(0, 0, 0);
    Bitmap im2(W, H);
    for(int x=0;x<W;x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im -> GetPixel(x,y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y,Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    }
    int main()
    {
    Bitmap^ im = gcnew Bitmap("tiffany511.jpg");
    to_Gray(im);
    cout << "圖像練習\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  2. B10533062 洪尚郁2017年12月6日 下午3:34

    void to_DIsk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }

    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x<W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R =pixel.R, G =pixel.G, B =pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Dask_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Dask.png");
    cout << "圓圖好了\n";
    }

    回覆刪除
  3. b10533007魏辰熾2017年12月6日 下午3:36

    void to_Gray(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; x<W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("Gray.png");
    }
    void to_CC(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; x<W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B =255- pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }
    void to_Disk(Bitmap^im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圖圓好了\n";
    }

    回覆刪除
  4. b10533011 江道逸2017年12月6日 下午3:37

    void to_Gray(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; x<W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("Gray.png");
    }
    void to_CC(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; x<W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B =255- pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }
    void to_Disk(Bitmap^im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圖圓好了\n";
    }

    回覆刪除
  5. b10533006 劉純賓2017年12月6日 下午3:38

    void to_Gray(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; x<W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("Gray.png");
    }
    void to_CC(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; x<W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B =255- pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }
    void to_Disk(Bitmap^im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圖圓好了\n";
    }

    回覆刪除
  6. b10533008 張士晟2017年12月6日 下午3:38

    void to_Gray(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; x<W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("Gray.png");
    }
    void to_CC(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; x<W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B =255- pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }
    void to_Disk(Bitmap^im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圖圓好了\n";
    }

    回覆刪除
  7. b10533009 張仲崴2017年12月6日 下午3:39

    void to_Gray(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; x<W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("Gray.png");
    }
    void to_CC(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; x<W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B =255- pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }
    void to_Disk(Bitmap^im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圖圓好了\n";
    }

    回覆刪除
  8. B10533010蕭凱維2017年12月6日 下午3:40

    void to_Gray(Bitmap^ im)
    {
    int W = im->Width, H = im->Height;
    Bitmap im2(W, H);
    for(int x=0; xGetPixel(x, y);
    int R=pixel.R, G=pixel.G, B= pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("Gray.png");
    cout << "灰階圖好了\n";
    }

    回覆刪除
  9. b10533018 陳郁傑2017年12月6日 下午3:41

    void to_Gray(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; x<W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("Gray.png");
    }
    void to_CC(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; x<W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B =255- pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }
    void to_Disk(Bitmap^im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圖圓好了\n";
    }

    回覆刪除
  10. B10433065劉勝威2017年12月6日 下午3:41

    void toDisk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++) {
    for (int y = 0; y < H; y++) {
    //取得每一個點的顏色
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    //(x-c)^2+(y-c)^2=r^2 圓外變黑色 圓內保持原本顏色
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }

    }
    }
    im2.Save("Disk_Black.png");
    //將黑色變成透明
    im2.MakeTransparent(Black);
    //將黑色部分去背
    im2.Save("Disk_Blackoff.png");
    cout << "畫圓好了\n";

    }

    回覆刪除
  11. B10433065劉勝威2017年12月6日 下午3:41

    void toDisk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++) {
    for (int y = 0; y < H; y++) {
    //取得每一個點的顏色
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    //(x-c)^2+(y-c)^2=r^2 圓外變黑色 圓內保持原本顏色
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }

    }
    }
    im2.Save("Disk_Black.png");
    //將黑色變成透明
    im2.MakeTransparent(Black);
    //將黑色部分去背
    im2.Save("Disk_Blackoff.png");
    cout << "畫圓好了\n";

    }

    回覆刪除
  12. B10533010蕭凱維2017年12月6日 下午3:42

    void to_Gray(Bitmap^ im)
    {
    int W = im->Width, H = im->Height;
    Bitmap im2(W, H);
    for(int x=0; xGetPixel(x, y);
    int R=pixel.R, G=pixel.G, B= pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("Gray.png");
    cout << "灰階圖好了\n";
    }

    回覆刪除
  13. b10433081 巫明芬2017年12月6日 下午3:42

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    回覆刪除
  14. b10433081 巫明芬2017年12月6日 下午3:42

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    回覆刪除
  15. B10433090蔡語鋐2017年12月6日 下午3:43

    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W<< "H=" << H << endl;
    Bitmap im2(W, H);
    for(int x=0;x<W;x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("Gray.png");
    cout << "灰階圖好了\n";
    }

    回覆刪除
  16. B10533132許敏茹2017年12月6日 下午3:43

    void to_CC(Bitmap^ im)
    {
    int w=im->Width,H= im->Height;
    Bitmap im2(W,H);
    for (int x=0; x<W;x++)
    for (int y=0; y<H; y++) {
    Color pixel = im->Getpixel(x,y);
    int R= 255-pixel.R,G =255- pixel.G,B =255- pixel.B;
    Color p2= Color::FromArgb(R,G,B);
    im2.SetPixel(x,y,p2);
    }
    im2. Save("G.png");
    cout <<"互補色圖好了\n";
    }

    回覆刪除
  17. B10433073何明宗2017年12月6日 下午3:44

    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W<< "H=" << H << endl;
    Bitmap im2(W, H);
    for(int x=0;x<W;x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("Gray.png");
    cout << "灰階圖好了\n";
    }

    回覆刪除
  18. B10433106簡偉佑2017年12月6日 下午3:45

    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W<< "H=" << H << endl;
    Bitmap im2(W, H);
    for(int x=0;x<W;x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("Gray.png");
    cout << "灰階圖好了\n";
    }

    回覆刪除
  19. b10433072 廖翊翔2017年12月6日 下午3:46

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    回覆刪除
  20. b10433094 簡筱芸2017年12月6日 下午3:48

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    回覆刪除
  21. b10433099 駱婉婷2017年12月6日 下午4:02

    #include <iostream>
    #include <cstdlib>

    using namespace std;
    #using <System.Drawing.dll>
    using namespace System::Drawing;
    void to_Gray(Bitmap^ im)


    {

    cout << "W=" << im->Width << "H=" << im->Height << endl;
    Bitmap im2(im->Width, im->Height);
    for(int x=0; x<im->Width;x++)
    for (int y= 0; y < im->Height; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y,p2);

    }
    im2.Save("Gray.png");

    }


    void to_CC(Bitmap^ im)
    {
    cout << "W=" << im->Width << "H=" << im->Height << endl;
    Bitmap im2(im->Width, im->Height);
    for (int x = 0; x<im->Width; x++)
    for (int y = 0; y < im->Height; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B = 255 - pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    int main()
    {
    Bitmap^ im = gcnew Bitmap("2.jpg");
    to_Gray(im);
    to_CC(im);
    to_Disk(im);
    cout << "圖檔練習。\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  22. B10433107 袁婕寧2017年12月6日 下午4:04

    #include <iostream>
    #include <cstdlib>

    using namespace std;
    #using <System.Drawing.dll>
    using namespace System::Drawing;
    void to_Gray(Bitmap^ im)


    {

    cout << "W=" << im->Width << "H=" << im->Height << endl;
    Bitmap im2(im->Width, im->Height);
    for(int x=0; x<im->Width;x++)
    for (int y= 0; y < im->Height; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y,p2);

    }
    im2.Save("Gray.png");

    }


    void to_CC(Bitmap^ im)
    {
    cout << "W=" << im->Width << "H=" << im->Height << endl;
    Bitmap im2(im->Width, im->Height);
    for (int x = 0; x<im->Width; x++)
    for (int y = 0; y < im->Height; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B = 255 - pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    int main()
    {
    Bitmap^ im = gcnew Bitmap("2.jpg");
    to_Gray(im);
    to_CC(im);
    to_Disk(im);
    cout << "圖檔練習。\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  23. B10537208楊蕊筑2017年12月7日 凌晨2:05

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    回覆刪除
  24. B10533088葉俊江2017年12月7日 凌晨2:05

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    回覆刪除
  25. b10333093徐子軒2017年12月7日 下午6:46

    #include<iostream>
    #include<cstdlib>

    using namespace std;

    #using <System.Drawing.dll>
    using namespace System::Drawing;

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    Bitmap im2(W, H);
    Color p2;
    for (int x = 0; x<W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R =255- pixel.R, G = 255-pixel.G, B = 255-pixel.B;
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("negative.png");
    cout << "負片好了\n";
    }
    int main()
    {
    cout << "圖檔\n";
    Bitmap^ im = gcnew Bitmap("lena.jpg");
    to_Disk(im);
    system("Pause");
    return 0;
    }

    回覆刪除
  26. b10433071 雷昕翰2017年12月7日 晚上7:52

    void toDisk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++) {
    for (int y = 0; y < H; y++) {
    //取得每一個點的顏色
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    //(x-c)^2+(y-c)^2=r^2 圓外變黑色 圓內保持原本顏色
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }

    }
    }
    im2.Save("Disk_Black.png");
    //將黑色變成透明
    im2.MakeTransparent(Black);
    //將黑色部分去背
    im2.Save("Disk_Blackoff.png");
    cout << "畫圓好了\n";

    }

    回覆刪除
  27. B10533071徐琮淇2017年12月9日 晚上8:15

    void to_Gray(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; xGetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("Gray.png");
    }
    void to_CC(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; xGetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B =255- pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }
    void to_Disk(Bitmap^im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圖圓好了\n";
    }

    回覆刪除
  28. void toDisk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++) {
    for (int y = 0; y < H; y++) {
    //取得每一個點的顏色
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    //(x-c)^2+(y-c)^2=r^2 圓外變黑色 圓內保持原本顏色
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }

    }
    }
    im2.Save("Disk_Black.png");
    //將黑色變成透明
    im2.MakeTransparent(Black);
    //將黑色部分去背
    im2.Save("Disk_Blackoff.png");
    cout << "畫圓好了\n";

    }

    回覆刪除
  29. #include
    #include

    using namespace std;
    #using
    using namespace System::Drawing;
    void to_Gray(Bitmap^ im)


    {

    cout << "W=" << im->Width << "H=" << im->Height << endl;
    Bitmap im2(im->Width, im->Height);
    for(int x=0; xWidth;x++)
    for (int y= 0; y < im->Height; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y,p2);

    }
    im2.Save("Gray.png");

    }


    void to_CC(Bitmap^ im)
    {
    cout << "W=" << im->Width << "H=" << im->Height << endl;
    Bitmap im2(im->Width, im->Height);
    for (int x = 0; xWidth; x++)
    for (int y = 0; y < im->Height; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B = 255 - pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    int main()
    {
    Bitmap^ im = gcnew Bitmap("2.jpg");
    to_Gray(im);
    to_CC(im);
    to_Disk(im);
    cout << "圖檔練習。\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  30. #include
    #include

    using namespace std;
    #using
    using namespace System::Drawing;
    void to_Gray(Bitmap^ im)


    {

    cout << "W=" << im->Width << "H=" << im->Height << endl;
    Bitmap im2(im->Width, im->Height);
    for(int x=0; xWidth;x++)
    for (int y= 0; y < im->Height; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y,p2);

    }
    im2.Save("Gray.png");

    }


    void to_CC(Bitmap^ im)
    {
    cout << "W=" << im->Width << "H=" << im->Height << endl;
    Bitmap im2(im->Width, im->Height);
    for (int x = 0; xWidth; x++)
    for (int y = 0; y < im->Height; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B = 255 - pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    int main()
    {
    Bitmap^ im = gcnew Bitmap("2.jpg");
    to_Gray(im);
    to_CC(im);
    to_Disk(im);
    cout << "圖檔練習。\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  31. void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    回覆刪除
  32. void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    回覆刪除
  33. void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    回覆刪除
  34. b10533004 李登恩2017年12月13日 下午2:35

    void to_DIsk(Bitmap^ im) {
    int W = im->Width, H = im -> Height;
    if (W != H) {
    cout << "方圖\n";
    return;
    }

    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Dask_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Dask.png");
    cout << "圓圖好了\n";
    }

    回覆刪除
  35. #include
    #include

    using namespace std;

    #using
    using namespace System::Drawing;
    void to_Gray(Bitmap^im) {
    int W = im->Width, H = im->Height;
    cout << "w=" << W << "H=" << H << endl;
    double c = W / 2.0;
    double r = c;
    Color p2,Black = Color::FromArgb(0, 0, 0);
    Bitmap im2(W, H);
    for(int x=0;x GetPixel(x,y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y,Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    }
    int main()
    {
    Bitmap^ im = gcnew Bitmap("tiffany511.jpg");
    to_Gray(im);
    cout << "圖像練習\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  36. void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    回覆刪除
  37. B10533076 姜國傑2017年12月15日 凌晨4:19

    #include
    #include

    using namespace std;
    #using
    using namespace System::Drawing;
    void to_Gray(Bitmap^ im)


    {

    cout << "W=" << im->Width << "H=" << im->Height << endl;
    Bitmap im2(im->Width, im->Height);
    for(int x=0; xWidth;x++)
    for (int y= 0; y < im->Height; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y,p2);

    }
    im2.Save("Gray.png");

    }


    void to_CC(Bitmap^ im)
    {
    cout << "W=" << im->Width << "H=" << im->Height << endl;
    Bitmap im2(im->Width, im->Height);
    for (int x = 0; xWidth; x++)
    for (int y = 0; y < im->Height; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B = 255 - pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    int main()
    {
    Bitmap^ im = gcnew Bitmap("2.jpg");
    to_Gray(im);
    to_CC(im);
    to_Disk(im);
    cout << "圖檔練習。\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  38. #include
    #include

    using namespace std;
    #using
    using namespace System::Drawing;
    void to_Gray(Bitmap^ im)


    {

    cout << "W=" << im->Width << "H=" << im->Height << endl;
    Bitmap im2(im->Width, im->Height);
    for(int x=0; xWidth;x++)
    for (int y= 0; y < im->Height; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y,p2);

    }
    im2.Save("Gray.png");

    }


    void to_CC(Bitmap^ im)
    {
    cout << "W=" << im->Width << "H=" << im->Height << endl;
    Bitmap im2(im->Width, im->Height);
    for (int x = 0; xWidth; x++)
    for (int y = 0; y < im->Height; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B = 255 - pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    int main()
    {
    Bitmap^ im = gcnew Bitmap("2.jpg");
    to_Gray(im);
    to_CC(im);
    to_Disk(im);
    cout << "圖檔練習。\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  39. #include
    #include

    using namespace std;

    #using
    using namespace System::Drawing;
    void to_Gray(Bitmap^im) {
    int W = im->Width, H = im->Height;
    cout << "w=" << W << "H=" << H << endl;
    double c = W / 2.0;
    double r = c;
    Color p2,Black = Color::FromArgb(0, 0, 0);
    Bitmap im2(W, H);
    for(int x=0;x GetPixel(x,y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y,Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    }
    int main()
    {
    Bitmap^ im = gcnew Bitmap("tiffany511.jpg");
    to_Gray(im);
    cout << "圖像練習\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  40. #include
    #include

    using namespace std;

    #using
    using namespace System::Drawing;
    void to_Gray(Bitmap^im) {
    int W = im->Width, H = im->Height;
    cout << "w=" << W << "H=" << H << endl;
    double c = W / 2.0;
    double r = c;
    Color p2,Black = Color::FromArgb(0, 0, 0);
    Bitmap im2(W, H);
    for(int x=0;x GetPixel(x,y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y,Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    }
    int main()
    {
    Bitmap^ im = gcnew Bitmap("tiffany511.jpg");
    to_Gray(im);
    cout << "圖像練習\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  41. #include
    #include

    using namespace std;

    #using
    using namespace System::Drawing;
    void to_Gray(Bitmap^im) {
    int W = im->Width, H = im->Height;
    cout << "w=" << W << "H=" << H << endl;
    double c = W / 2.0;
    double r = c;
    Color p2,Black = Color::FromArgb(0, 0, 0);
    Bitmap im2(W, H);
    for(int x=0;x GetPixel(x,y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y,Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    }
    int main()
    {
    Bitmap^ im = gcnew Bitmap("tiffany511.jpg");
    to_Gray(im);
    cout << "圖像練習\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  42. #include
    #include

    using namespace std;

    #using
    using namespace System::Drawing;
    void to_Gray(Bitmap^im) {
    int W = im->Width, H = im->Height;
    cout << "w=" << W << "H=" << H << endl;
    double c = W / 2.0;
    double r = c;
    Color p2,Black = Color::FromArgb(0, 0, 0);
    Bitmap im2(W, H);
    for(int x=0;x GetPixel(x,y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y,Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    }
    int main()
    {
    Bitmap^ im = gcnew Bitmap("tiffany511.jpg");
    to_Gray(im);
    cout << "圖像練習\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  43. #include
    #include

    using namespace std;

    #using
    using namespace System::Drawing;
    void to_Gray(Bitmap^im) {
    int W = im->Width, H = im->Height;
    cout << "w=" << W << "H=" << H << endl;
    double c = W / 2.0;
    double r = c;
    Color p2,Black = Color::FromArgb(0, 0, 0);
    Bitmap im2(W, H);
    for(int x=0;x GetPixel(x,y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y,Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    }
    int main()
    {
    Bitmap^ im = gcnew Bitmap("tiffany511.jpg");
    to_Gray(im);
    cout << "圖像練習\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  44. #include
    #include

    using namespace std;

    #using
    using namespace System::Drawing;
    void to_Gray(Bitmap^im) {
    int W = im->Width, H = im->Height;
    cout << "w=" << W << "H=" << H << endl;
    double c = W / 2.0;
    double r = c;
    Color p2,Black = Color::FromArgb(0, 0, 0);
    Bitmap im2(W, H);
    for(int x=0;x GetPixel(x,y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y,Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    }
    int main()
    {
    Bitmap^ im = gcnew Bitmap("tiffany511.jpg");
    to_Gray(im);
    cout << "圖像練習\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  45. #include
    #include

    using namespace std;

    #using
    using namespace System::Drawing;
    void to_Gray(Bitmap^im) {
    int W = im->Width, H = im->Height;
    cout << "w=" << W << "H=" << H << endl;
    double c = W / 2.0;
    double r = c;
    Color p2,Black = Color::FromArgb(0, 0, 0);
    Bitmap im2(W, H);
    for(int x=0;x GetPixel(x,y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y,Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    }
    int main()
    {
    Bitmap^ im = gcnew Bitmap("tiffany511.jpg");
    to_Gray(im);
    cout << "圖像練習\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  46. b10533075 陳詔瑋2017年12月27日 下午2:51

    void to_Gray(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; xGetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("Gray.png");
    }
    void to_CC(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; xGetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B =255- pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }
    void to_Disk(Bitmap^im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圖圓好了\n";
    }

    回覆刪除
  47. b10533029 游淑娥2017年12月27日 下午2:51

    void to_Gray(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; xGetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("Gray.png");
    }
    void to_CC(Bitmap^im)
    {
    int W = im->Width, H = im->Height;
    cout << "W=" << W << "H=" << H << endl;
    Bitmap im2(W, H);
    for (int x = 0; xGetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B =255- pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }
    void to_Disk(Bitmap^im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圖圓好了\n";
    }

    回覆刪除
  48. B10433088 葉凱文2018年1月2日 下午3:16

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    回覆刪除
  49. B10533064蔡佩芸2018年1月3日 下午1:53

    #include
    #include

    using namespace std;

    #using
    using namespace System::Drawing;
    void to_Gray(Bitmap^im) {
    int W = im->Width, H = im->Height;
    cout << "w=" << W << "H=" << H << endl;
    double c = W / 2.0;
    double r = c;
    Color p2,Black = Color::FromArgb(0, 0, 0);
    Bitmap im2(W, H);
    for(int x=0;x GetPixel(x,y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y,Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    }
    int main()
    {
    Bitmap^ im = gcnew Bitmap("tiffany511.jpg");
    to_Gray(im);
    cout << "圖像練習\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  50. b10533073黃叡哲2018年1月3日 下午2:32

    #include
    #include

    using namespace std;
    #using
    using namespace System::Drawing;
    void to_Gray(Bitmap^ im)


    {

    cout << "W=" << im->Width << "H=" << im->Height << endl;
    Bitmap im2(im->Width, im->Height);
    for(int x=0; xWidth;x++)
    for (int y= 0; y < im->Height; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    int Gray = (R * 313524 + G * 615514 + B * 119538) >> 20;
    Color p2 = Color::FromArgb(Gray, Gray, Gray);
    im2.SetPixel(x, y,p2);

    }
    im2.Save("Gray.png");

    }


    void to_CC(Bitmap^ im)
    {
    cout << "W=" << im->Width << "H=" << im->Height << endl;
    Bitmap im2(im->Width, im->Height);
    for (int x = 0; xWidth; x++)
    for (int y = 0; y < im->Height; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = 255 - pixel.R, G = 255 - pixel.G, B = 255 - pixel.B;
    Color p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    im2.Save("G.png");
    }

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    int main()
    {
    Bitmap^ im = gcnew Bitmap("2.jpg");
    to_Gray(im);
    to_CC(im);
    to_Disk(im);
    cout << "圖檔練習。\n";
    system("Pause");
    return 0;
    }

    回覆刪除
  51. b10533085羅偉辰2018年1月3日 下午5:58

    void to_Disk(Bitmap^ im) {
    int W = im->Width, H = im->Height;
    if (W != H) {
    cout << "非方圖\n";
    return;
    }
    double c = W / 2.0;
    double r = c;
    Bitmap im2(W, H);
    Color p2, Black = Color::FromArgb(0, 0, 0);
    for (int x = 0; x < W; x++)
    for (int y = 0; y < H; y++) {
    Color pixel = im->GetPixel(x, y);
    int R = pixel.R, G = pixel.G, B = pixel.B;
    if ((x - c)*(x - c) + (y - c)*(y - c) <= r*r) {
    p2 = Color::FromArgb(R, G, B);
    im2.SetPixel(x, y, p2);
    }
    else {
    im2.SetPixel(x, y, Black);
    }
    }
    im2.Save("Disk_Black.png");
    im2.MakeTransparent(Black);
    im2.Save("Disk.png");
    cout << "圓圖\n";
    }

    回覆刪除

HTML 編輯器