Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

33
LINES

< > BotCompany Repo | #1035883 // RegionToGSI [dev.]

JavaX fragment (include) [tags: use-pretranspiled]

Libraryless. Click here for Pure Java version (13736L/80K).

srecord noeq RegionToGSI(IPixelSet region) extends Meta {
  Color color;
  gettable GSI gsi;

  GSI get() {
    if (region == null) null;
    
    if (region cast IImageRegion)
      gsi.color(region.color());
    Rect r = region.bounds();
    int x1 = r.x1(), y1 = r.y1();
    int y2 = r.y2(), w = r.w, h = y2-y1;

    gsi = new GSI;
    gsi.y1 = y1;
    gsi.rowStarts = new int[h];
    
    new IntBuffer xData;
    
    for (int y = y1; y < y2; y++) {
      reMutable y;
      
      gsi.rowStarts[y-y1] = l(xData);
      
      L<IntRange> streaks = shiftIntRanges(x1, genericStreaks(w, x -> region.contains(x1+x, y)));
      
      xData.addAll(intRangesToIntArray_startAndLength(streaks));
    }
    
    gsi.xData = xData.toArray();
    ret gsi;
  }
}

download  show line numbers  debug dex  old transpilations   

Travelled to 2 computer(s): mqqgnosmbjvj, wnsclhtenguj

No comments. add comment

Snippet ID: #1035883
Snippet name: RegionToGSI [dev.]
Eternal ID of this version: #1035883/8
Text MD5: 0f2bc8faf885d535b2faf5a9eb095744
Transpilation MD5: 68ae5cb88f7e7decb1aa0ceecc514245
Author: stefan
Category: javax / gazelle 22
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2022-08-15 20:39:41
Source code size: 790 bytes / 33 lines
Pitched / IR pitched: No / No
Views / Downloads: 217 / 314
Version history: 7 change(s)
Referenced in: #1003674 - Standard Classes + Interfaces (LIVE continued in #1034167)