Skip to main content

Writing One Dimensional Array as Image ( Java )

Welcome back ,I'm still writing the application from the last post, I founded that I must redraw the image to show the result , I faced Many problems while writing the Method write Image first the image was totally black which is not correct , I searched the web for a solution especially stack overflow site , I'm gonna tell you what I gain , I hope the post help you in shaa Allah .





public void write_image(int[] image_1d, int width, int height) throws IOException {   
        WritableRaster raster= Raster.createWritableRaster
        (new PixelInterleavedSampleModel(0, width,height, 1,
         1920,new int[] {0}), new Point(0,0));

        int k =0 ;
        for(int i = 0 ; i < width ; i++ )
         {
         for(int j = 0 ; j < height ; j++)
         {
             raster.setSample(i,j,0,image_1d[k]);
             k++;
         }
         }
        BufferedImage image =new BufferedImage(width,height,
                                 BufferedImage.TYPE_BYTE_BINARY);
        
        image.setData(raster);
        File output=new File("ImageName.jpg");
        ImageIO.write(image,"jpg",output);
    }


Please share if you like.
Thanks for reading my blog post. 

Ahmed Ghazey.


Comments

Popular posts from this blog

DevExpress C# Chart Tutorial

Hello , this blog post about Charting in DevExpress , I faced many problems I visited hundreds of pages to solve this problems , actually it was the first time I use DevExpress Charts, Work is not like school or university , in school if you don't know thing you can learn it any time you want , in work you have to do today task yesterday, I like to share my knowledge and skills with you , I hope this Post help you . // clear series on chart  chart.Series.Clear(); // clear Titles of chart chart.Titles.Clear(); // legend alignment  chart.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Center; chart.Legend.AlignmentVertical = LegendAlignmentVertical.Bottom; chart.Legend.Direction = LegendDirection.LeftToRight; // creating series // series view Type example Line DevExpress.XtraCharts.Series series = new DevExpress.XtraCharts.Series("series name ", ViewType.Line); // add title  DevExpress.XtraCharts.ChartTitle chtTitle = new DevExpress.XtraCharts.Cha...

Recursion

Recursion is a programming technique which function calls itself , this seems strange , however it is one of the most interested and effective technique in programming. it helps you write code in less statements and provides unique conceptual frame work to solve problems. lets discus some problems to know how it works : first example Triangular Numbers : it is series like : 1,3,6,10,15,21........ etc our program should get the nth term in the series, the numbers in this series called triangular numbers due to they can be visualized as a triangle. triangular numbers fig 1 finding the nth term using a loop see this figure : loop adding 1+2+3+4 and so on code is easy  , a loop will add numbers from n to 0 like this int triangle(int n) { int total = 0; while(n > 0) // until n is 1 { total = total + n; // add n (column height) to total --n; // decrement column height } return total; } it easy enough and for sure it is fast . before we start the recu...

LeetCode Problem #15. 3Sum

Problem statement  Given an array   nums   of   n   integers, are there elements   a ,   b ,   c   in   nums   such that   a   +   b   +   c   = 0? Find all unique triplets in the array which gives the sum of zero. Note: The solution set must not contain duplicate triplets. Example : Given array nums = [-1, 0, 1, 2, -1, -4], A solution set is: [ [-1, 0, 1], [-1, -1, 2] ] this problem is medium but I think it is much harder especially with the condition of non duplicate,  I'll write two solutions