←Select platform

BytesPerLine Property

Summary
Gets the number of bytes per scanline for the image data of this RasterImage.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public int BytesPerLine { get; } 
@property (nonatomic, assign, readonly) NSUInteger bytesPerLine 
public int getBytesPerLine(); 
public: 
property int BytesPerLine { 
   int get(); 
} 
BytesPerLine # get  (RasterImage) 

Property Value

Number of bytes per per scanline for the image data of this RasterImage.

Remarks

The BytesPerLine value is rounded upward to the nearest multiple of four.

You can use this property to allocate the buffer size when manipulating the scanline data of a RasterImage directly through the GetRow and SetRow methods.

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Dicom; 
using Leadtools.Drawing; 
using Leadtools.Controls; 
using Leadtools.Svg; 
 
 
public void GetRowTest() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP")); 
 
   byte[] row1 = new byte[image.BytesPerLine]; 
   byte[] row2 = new byte[image.BytesPerLine]; 
 
   image.Access(); 
   for (int y = 0; y < image.Height / 2; y++) 
   { 
      image.GetRow(y, row1, 0, row1.Length); 
      image.GetRow(image.Height - y - 1, row2, 0, row2.Length); 
 
      image.SetRow(y, row2, 0, row2.Length); 
      image.SetRow(image.Height - y - 1, row1, 0, row1.Length); 
   } 
   image.Release(); 
 
   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1_getrow.BMP"), RasterImageFormat.Bmp, 0); 
 
   image.Dispose(); 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.IOException; 
import java.io.InputStream; 
import java.util.ArrayList; 
import java.util.List; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.imageprocessing.core.*; 
import leadtools.svg.*; 
import leadtools.imageprocessing.CloneCommand; 
import leadtools.imageprocessing.FillCommand; 
import leadtools.imageprocessing.FlipCommand; 
import leadtools.imageprocessing.GrayscaleCommand; 
import leadtools.imageprocessing.color.InvertCommand; 
import leadtools.imageprocessing.color.PosterizeCommand; 
 
 
public void getRowExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   RasterCodecs codecs = new RasterCodecs(); 
   String destFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1_getrow.BMP"); 
   RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "IMAGE1.CMP")); 
   byte[] row1 = new byte[image.getBytesPerLine()]; 
   byte[] row2 = new byte[image.getBytesPerLine()]; 
 
   image.access(); 
 
   for (int y = 0; y < image.getHeight() / 2; y++) { 
      image.getRow(y, row1, 0, row1.length); 
      image.getRow(image.getHeight() - y - 1, row2, 0, row2.length); 
 
      image.setRow(y, row2, 0, row2.length); 
      image.setRow(image.getHeight() - y - 1, row1, 0, row1.length); 
   } 
 
   image.release(); 
 
   // Save it 
   codecs.save(image, destFileName, RasterImageFormat.BMP, 0); 
 
   // Clean up 
   image.dispose(); 
   codecs.dispose(); 
 
   assertTrue("file unsuccessfully saved to " + destFileName, (new File(destFileName)).exists()); 
   System.out.printf("File saved successfully to %s%n", destFileName); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.5.22
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.