Added: websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/scanlinefilters/ScanlineFilterUp.html ============================================================================== --- websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/scanlinefilters/ScanlineFilterUp.html (added) +++ websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/scanlinefilters/ScanlineFilterUp.html Wed May 15 13:26:03 2024 @@ -0,0 +1,121 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (17) --> +<title>Source code</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="description" content="source: package: org.apache.commons.imaging.formats.png.scanlinefilters, class: ScanlineFilterUp"> +<meta name="generator" content="javadoc/SourceToHTMLConverter"> +<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style"> +</head> +<body class="source-page"> +<main role="main"> +<div class="source-container"> +<pre><span class="source-line-no">001</span><span id="line-1">/*</span> +<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one or more</span> +<span class="source-line-no">003</span><span id="line-3"> * contributor license agreements. See the NOTICE file distributed with</span> +<span class="source-line-no">004</span><span id="line-4"> * this work for additional information regarding copyright ownership.</span> +<span class="source-line-no">005</span><span id="line-5"> * The ASF licenses this file to You under the Apache License, Version 2.0</span> +<span class="source-line-no">006</span><span id="line-6"> * (the "License"); you may not use this file except in compliance with</span> +<span class="source-line-no">007</span><span id="line-7"> * the License. You may obtain a copy of the License at</span> +<span class="source-line-no">008</span><span id="line-8"> *</span> +<span class="source-line-no">009</span><span id="line-9"> * http://www.apache.org/licenses/LICENSE-2.0</span> +<span class="source-line-no">010</span><span id="line-10"> *</span> +<span class="source-line-no">011</span><span id="line-11"> * Unless required by applicable law or agreed to in writing, software</span> +<span class="source-line-no">012</span><span id="line-12"> * distributed under the License is distributed on an "AS IS" BASIS,</span> +<span class="source-line-no">013</span><span id="line-13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> +<span class="source-line-no">014</span><span id="line-14"> * See the License for the specific language governing permissions and</span> +<span class="source-line-no">015</span><span id="line-15"> * limitations under the License.</span> +<span class="source-line-no">016</span><span id="line-16"> */</span> +<span class="source-line-no">017</span><span id="line-17">package org.apache.commons.imaging.formats.png.scanlinefilters;</span> +<span class="source-line-no">018</span><span id="line-18"></span> +<span class="source-line-no">019</span><span id="line-19">import java.io.IOException;</span> +<span class="source-line-no">020</span><span id="line-20"></span> +<span class="source-line-no">021</span><span id="line-21">import org.apache.commons.imaging.ImagingException;</span> +<span class="source-line-no">022</span><span id="line-22"></span> +<span class="source-line-no">023</span><span id="line-23">public class ScanlineFilterUp implements ScanlineFilter {</span> +<span class="source-line-no">024</span><span id="line-24"></span> +<span class="source-line-no">025</span><span id="line-25"> @Override</span> +<span class="source-line-no">026</span><span id="line-26"> public void unfilter(final byte[] src, final byte[] dst, final byte[] up) throws ImagingException, IOException {</span> +<span class="source-line-no">027</span><span id="line-27"> for (int i = 0; i < src.length; i++) {</span> +<span class="source-line-no">028</span><span id="line-28"> // byte b;</span> +<span class="source-line-no">029</span><span id="line-29"></span> +<span class="source-line-no">030</span><span id="line-30"> if (up != null) {</span> +<span class="source-line-no">031</span><span id="line-31"> dst[i] = (byte) ((src[i] + up[i]) % 256);</span> +<span class="source-line-no">032</span><span id="line-32"> } else {</span> +<span class="source-line-no">033</span><span id="line-33"> dst[i] = src[i];</span> +<span class="source-line-no">034</span><span id="line-34"> }</span> +<span class="source-line-no">035</span><span id="line-35"></span> +<span class="source-line-no">036</span><span id="line-36"> // if (i<10)</span> +<span class="source-line-no">037</span><span id="line-37"> // System.out.println("\t" + i + ": " + dst[i]);</span> +<span class="source-line-no">038</span><span id="line-38"> // dst[i] = b;</span> +<span class="source-line-no">039</span><span id="line-39"> // dst[i] = src[i];</span> +<span class="source-line-no">040</span><span id="line-40"> // dst[i] = (byte) 0;</span> +<span class="source-line-no">041</span><span id="line-41"> }</span> +<span class="source-line-no">042</span><span id="line-42"> }</span> +<span class="source-line-no">043</span><span id="line-43">}</span> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</pre> +</div> +</main> +</body> +</html> \ No newline at end of file
Added: websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/transparencyfilters/AbstractTransparencyFilter.html ============================================================================== --- websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/transparencyfilters/AbstractTransparencyFilter.html (added) +++ websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/transparencyfilters/AbstractTransparencyFilter.html Wed May 15 13:26:03 2024 @@ -0,0 +1,135 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (17) --> +<title>Source code</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="description" content="source: package: org.apache.commons.imaging.formats.png.transparencyfilters, class: AbstractTransparencyFilter"> +<meta name="generator" content="javadoc/SourceToHTMLConverter"> +<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style"> +</head> +<body class="source-page"> +<main role="main"> +<div class="source-container"> +<pre><span class="source-line-no">001</span><span id="line-1">/*</span> +<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one or more</span> +<span class="source-line-no">003</span><span id="line-3"> * contributor license agreements. See the NOTICE file distributed with</span> +<span class="source-line-no">004</span><span id="line-4"> * this work for additional information regarding copyright ownership.</span> +<span class="source-line-no">005</span><span id="line-5"> * The ASF licenses this file to You under the Apache License, Version 2.0</span> +<span class="source-line-no">006</span><span id="line-6"> * (the "License"); you may not use this file except in compliance with</span> +<span class="source-line-no">007</span><span id="line-7"> * the License. You may obtain a copy of the License at</span> +<span class="source-line-no">008</span><span id="line-8"> *</span> +<span class="source-line-no">009</span><span id="line-9"> * http://www.apache.org/licenses/LICENSE-2.0</span> +<span class="source-line-no">010</span><span id="line-10"> *</span> +<span class="source-line-no">011</span><span id="line-11"> * Unless required by applicable law or agreed to in writing, software</span> +<span class="source-line-no">012</span><span id="line-12"> * distributed under the License is distributed on an "AS IS" BASIS,</span> +<span class="source-line-no">013</span><span id="line-13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> +<span class="source-line-no">014</span><span id="line-14"> * See the License for the specific language governing permissions and</span> +<span class="source-line-no">015</span><span id="line-15"> * limitations under the License.</span> +<span class="source-line-no">016</span><span id="line-16"> */</span> +<span class="source-line-no">017</span><span id="line-17">package org.apache.commons.imaging.formats.png.transparencyfilters;</span> +<span class="source-line-no">018</span><span id="line-18"></span> +<span class="source-line-no">019</span><span id="line-19">import java.io.IOException;</span> +<span class="source-line-no">020</span><span id="line-20"></span> +<span class="source-line-no">021</span><span id="line-21">import org.apache.commons.imaging.ImagingException;</span> +<span class="source-line-no">022</span><span id="line-22">import org.apache.commons.imaging.common.BinaryFileParser;</span> +<span class="source-line-no">023</span><span id="line-23"></span> +<span class="source-line-no">024</span><span id="line-24">public abstract class AbstractTransparencyFilter extends BinaryFileParser {</span> +<span class="source-line-no">025</span><span id="line-25"></span> +<span class="source-line-no">026</span><span id="line-26"> private final byte[] bytes;</span> +<span class="source-line-no">027</span><span id="line-27"></span> +<span class="source-line-no">028</span><span id="line-28"> /**</span> +<span class="source-line-no">029</span><span id="line-29"> * Constructs a new instance.</span> +<span class="source-line-no">030</span><span id="line-30"> *</span> +<span class="source-line-no">031</span><span id="line-31"> * @param bytes bytes.</span> +<span class="source-line-no">032</span><span id="line-32"> */</span> +<span class="source-line-no">033</span><span id="line-33"> public AbstractTransparencyFilter(final byte[] bytes) {</span> +<span class="source-line-no">034</span><span id="line-34"> this.bytes = bytes.clone();</span> +<span class="source-line-no">035</span><span id="line-35"> }</span> +<span class="source-line-no">036</span><span id="line-36"></span> +<span class="source-line-no">037</span><span id="line-37"> public abstract int filter(int rgb, int index) throws ImagingException, IOException;</span> +<span class="source-line-no">038</span><span id="line-38"></span> +<span class="source-line-no">039</span><span id="line-39"> /**</span> +<span class="source-line-no">040</span><span id="line-40"> * Gets the byte at the given offset.</span> +<span class="source-line-no">041</span><span id="line-41"> *</span> +<span class="source-line-no">042</span><span id="line-42"> * @param offset offset.</span> +<span class="source-line-no">043</span><span id="line-43"> * @return a byte.</span> +<span class="source-line-no">044</span><span id="line-44"> */</span> +<span class="source-line-no">045</span><span id="line-45"> public byte getByte(final int offset) {</span> +<span class="source-line-no">046</span><span id="line-46"> return bytes[offset];</span> +<span class="source-line-no">047</span><span id="line-47"> }</span> +<span class="source-line-no">048</span><span id="line-48"></span> +<span class="source-line-no">049</span><span id="line-49"> /**</span> +<span class="source-line-no">050</span><span id="line-50"> * Gets the length.</span> +<span class="source-line-no">051</span><span id="line-51"> *</span> +<span class="source-line-no">052</span><span id="line-52"> * @return the length</span> +<span class="source-line-no">053</span><span id="line-53"> */</span> +<span class="source-line-no">054</span><span id="line-54"> public int getLength() {</span> +<span class="source-line-no">055</span><span id="line-55"> return bytes.length;</span> +<span class="source-line-no">056</span><span id="line-56"> }</span> +<span class="source-line-no">057</span><span id="line-57">}</span> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</pre> +</div> +</main> +</body> +</html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/transparencyfilters/TransparencyFilterGrayscale.html ============================================================================== --- websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/transparencyfilters/TransparencyFilterGrayscale.html (added) +++ websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/transparencyfilters/TransparencyFilterGrayscale.html Wed May 15 13:26:03 2024 @@ -0,0 +1,121 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (17) --> +<title>Source code</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="description" content="source: package: org.apache.commons.imaging.formats.png.transparencyfilters, class: TransparencyFilterGrayscale"> +<meta name="generator" content="javadoc/SourceToHTMLConverter"> +<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style"> +</head> +<body class="source-page"> +<main role="main"> +<div class="source-container"> +<pre><span class="source-line-no">001</span><span id="line-1">/*</span> +<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one or more</span> +<span class="source-line-no">003</span><span id="line-3"> * contributor license agreements. See the NOTICE file distributed with</span> +<span class="source-line-no">004</span><span id="line-4"> * this work for additional information regarding copyright ownership.</span> +<span class="source-line-no">005</span><span id="line-5"> * The ASF licenses this file to You under the Apache License, Version 2.0</span> +<span class="source-line-no">006</span><span id="line-6"> * (the "License"); you may not use this file except in compliance with</span> +<span class="source-line-no">007</span><span id="line-7"> * the License. You may obtain a copy of the License at</span> +<span class="source-line-no">008</span><span id="line-8"> *</span> +<span class="source-line-no">009</span><span id="line-9"> * http://www.apache.org/licenses/LICENSE-2.0</span> +<span class="source-line-no">010</span><span id="line-10"> *</span> +<span class="source-line-no">011</span><span id="line-11"> * Unless required by applicable law or agreed to in writing, software</span> +<span class="source-line-no">012</span><span id="line-12"> * distributed under the License is distributed on an "AS IS" BASIS,</span> +<span class="source-line-no">013</span><span id="line-13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> +<span class="source-line-no">014</span><span id="line-14"> * See the License for the specific language governing permissions and</span> +<span class="source-line-no">015</span><span id="line-15"> * limitations under the License.</span> +<span class="source-line-no">016</span><span id="line-16"> */</span> +<span class="source-line-no">017</span><span id="line-17">package org.apache.commons.imaging.formats.png.transparencyfilters;</span> +<span class="source-line-no">018</span><span id="line-18"></span> +<span class="source-line-no">019</span><span id="line-19">import static org.apache.commons.imaging.common.BinaryFunctions.read2Bytes;</span> +<span class="source-line-no">020</span><span id="line-20"></span> +<span class="source-line-no">021</span><span id="line-21">import java.io.ByteArrayInputStream;</span> +<span class="source-line-no">022</span><span id="line-22">import java.io.IOException;</span> +<span class="source-line-no">023</span><span id="line-23"></span> +<span class="source-line-no">024</span><span id="line-24">import org.apache.commons.imaging.ImagingException;</span> +<span class="source-line-no">025</span><span id="line-25"></span> +<span class="source-line-no">026</span><span id="line-26">public class TransparencyFilterGrayscale extends AbstractTransparencyFilter {</span> +<span class="source-line-no">027</span><span id="line-27"> private final int transparentColor;</span> +<span class="source-line-no">028</span><span id="line-28"></span> +<span class="source-line-no">029</span><span id="line-29"> public TransparencyFilterGrayscale(final byte[] bytes) throws IOException {</span> +<span class="source-line-no">030</span><span id="line-30"> super(bytes);</span> +<span class="source-line-no">031</span><span id="line-31"></span> +<span class="source-line-no">032</span><span id="line-32"> final ByteArrayInputStream is = new ByteArrayInputStream(bytes);</span> +<span class="source-line-no">033</span><span id="line-33"> transparentColor = read2Bytes("transparentColor", is, "tRNS: Missing transparentColor", getByteOrder());</span> +<span class="source-line-no">034</span><span id="line-34"> }</span> +<span class="source-line-no">035</span><span id="line-35"></span> +<span class="source-line-no">036</span><span id="line-36"> @Override</span> +<span class="source-line-no">037</span><span id="line-37"> public int filter(final int rgb, final int index) throws ImagingException, IOException {</span> +<span class="source-line-no">038</span><span id="line-38"> if (index != transparentColor) {</span> +<span class="source-line-no">039</span><span id="line-39"> return rgb;</span> +<span class="source-line-no">040</span><span id="line-40"> }</span> +<span class="source-line-no">041</span><span id="line-41"> return 0x00;</span> +<span class="source-line-no">042</span><span id="line-42"> }</span> +<span class="source-line-no">043</span><span id="line-43">}</span> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</pre> +</div> +</main> +</body> +</html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/transparencyfilters/TransparencyFilterIndexedColor.html ============================================================================== --- websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/transparencyfilters/TransparencyFilterIndexedColor.html (added) +++ websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/transparencyfilters/TransparencyFilterIndexedColor.html Wed May 15 13:26:03 2024 @@ -0,0 +1,121 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (17) --> +<title>Source code</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="description" content="source: package: org.apache.commons.imaging.formats.png.transparencyfilters, class: TransparencyFilterIndexedColor"> +<meta name="generator" content="javadoc/SourceToHTMLConverter"> +<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style"> +</head> +<body class="source-page"> +<main role="main"> +<div class="source-container"> +<pre><span class="source-line-no">001</span><span id="line-1">/*</span> +<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one or more</span> +<span class="source-line-no">003</span><span id="line-3"> * contributor license agreements. See the NOTICE file distributed with</span> +<span class="source-line-no">004</span><span id="line-4"> * this work for additional information regarding copyright ownership.</span> +<span class="source-line-no">005</span><span id="line-5"> * The ASF licenses this file to You under the Apache License, Version 2.0</span> +<span class="source-line-no">006</span><span id="line-6"> * (the "License"); you may not use this file except in compliance with</span> +<span class="source-line-no">007</span><span id="line-7"> * the License. You may obtain a copy of the License at</span> +<span class="source-line-no">008</span><span id="line-8"> *</span> +<span class="source-line-no">009</span><span id="line-9"> * http://www.apache.org/licenses/LICENSE-2.0</span> +<span class="source-line-no">010</span><span id="line-10"> *</span> +<span class="source-line-no">011</span><span id="line-11"> * Unless required by applicable law or agreed to in writing, software</span> +<span class="source-line-no">012</span><span id="line-12"> * distributed under the License is distributed on an "AS IS" BASIS,</span> +<span class="source-line-no">013</span><span id="line-13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> +<span class="source-line-no">014</span><span id="line-14"> * See the License for the specific language governing permissions and</span> +<span class="source-line-no">015</span><span id="line-15"> * limitations under the License.</span> +<span class="source-line-no">016</span><span id="line-16"> */</span> +<span class="source-line-no">017</span><span id="line-17">package org.apache.commons.imaging.formats.png.transparencyfilters;</span> +<span class="source-line-no">018</span><span id="line-18"></span> +<span class="source-line-no">019</span><span id="line-19">import java.io.IOException;</span> +<span class="source-line-no">020</span><span id="line-20"></span> +<span class="source-line-no">021</span><span id="line-21">import org.apache.commons.imaging.ImagingException;</span> +<span class="source-line-no">022</span><span id="line-22"></span> +<span class="source-line-no">023</span><span id="line-23">public class TransparencyFilterIndexedColor extends AbstractTransparencyFilter {</span> +<span class="source-line-no">024</span><span id="line-24"></span> +<span class="source-line-no">025</span><span id="line-25"> public TransparencyFilterIndexedColor(final byte[] bytes) {</span> +<span class="source-line-no">026</span><span id="line-26"> super(bytes);</span> +<span class="source-line-no">027</span><span id="line-27"> }</span> +<span class="source-line-no">028</span><span id="line-28"></span> +<span class="source-line-no">029</span><span id="line-29"> @Override</span> +<span class="source-line-no">030</span><span id="line-30"> public int filter(final int rgb, final int index) throws ImagingException, IOException {</span> +<span class="source-line-no">031</span><span id="line-31"> final int length = getLength();</span> +<span class="source-line-no">032</span><span id="line-32"> if (index >= length) { // TODO see below - is this check correct?</span> +<span class="source-line-no">033</span><span id="line-33"> return rgb;</span> +<span class="source-line-no">034</span><span id="line-34"> }</span> +<span class="source-line-no">035</span><span id="line-35"></span> +<span class="source-line-no">036</span><span id="line-36"> if (index < 0 || index > length) { // TODO check for > length cannot be true because of check above</span> +<span class="source-line-no">037</span><span id="line-37"> throw new ImagingException("TransparencyFilterIndexedColor index: " + index + ", bytes.length: " + length);</span> +<span class="source-line-no">038</span><span id="line-38"> }</span> +<span class="source-line-no">039</span><span id="line-39"></span> +<span class="source-line-no">040</span><span id="line-40"> final int alpha = getByte(index);</span> +<span class="source-line-no">041</span><span id="line-41"> return (0xff & alpha) << 24 | 0x00ffffff & rgb;</span> +<span class="source-line-no">042</span><span id="line-42"> }</span> +<span class="source-line-no">043</span><span id="line-43">}</span> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</pre> +</div> +</main> +</body> +</html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/transparencyfilters/TransparencyFilterTrueColor.html ============================================================================== --- websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/transparencyfilters/TransparencyFilterTrueColor.html (added) +++ websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/png/transparencyfilters/TransparencyFilterTrueColor.html Wed May 15 13:26:03 2024 @@ -0,0 +1,127 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (17) --> +<title>Source code</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="description" content="source: package: org.apache.commons.imaging.formats.png.transparencyfilters, class: TransparencyFilterTrueColor"> +<meta name="generator" content="javadoc/SourceToHTMLConverter"> +<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style"> +</head> +<body class="source-page"> +<main role="main"> +<div class="source-container"> +<pre><span class="source-line-no">001</span><span id="line-1">/*</span> +<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one or more</span> +<span class="source-line-no">003</span><span id="line-3"> * contributor license agreements. See the NOTICE file distributed with</span> +<span class="source-line-no">004</span><span id="line-4"> * this work for additional information regarding copyright ownership.</span> +<span class="source-line-no">005</span><span id="line-5"> * The ASF licenses this file to You under the Apache License, Version 2.0</span> +<span class="source-line-no">006</span><span id="line-6"> * (the "License"); you may not use this file except in compliance with</span> +<span class="source-line-no">007</span><span id="line-7"> * the License. You may obtain a copy of the License at</span> +<span class="source-line-no">008</span><span id="line-8"> *</span> +<span class="source-line-no">009</span><span id="line-9"> * http://www.apache.org/licenses/LICENSE-2.0</span> +<span class="source-line-no">010</span><span id="line-10"> *</span> +<span class="source-line-no">011</span><span id="line-11"> * Unless required by applicable law or agreed to in writing, software</span> +<span class="source-line-no">012</span><span id="line-12"> * distributed under the License is distributed on an "AS IS" BASIS,</span> +<span class="source-line-no">013</span><span id="line-13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> +<span class="source-line-no">014</span><span id="line-14"> * See the License for the specific language governing permissions and</span> +<span class="source-line-no">015</span><span id="line-15"> * limitations under the License.</span> +<span class="source-line-no">016</span><span id="line-16"> */</span> +<span class="source-line-no">017</span><span id="line-17">package org.apache.commons.imaging.formats.png.transparencyfilters;</span> +<span class="source-line-no">018</span><span id="line-18"></span> +<span class="source-line-no">019</span><span id="line-19">import static org.apache.commons.imaging.common.BinaryFunctions.read2Bytes;</span> +<span class="source-line-no">020</span><span id="line-20"></span> +<span class="source-line-no">021</span><span id="line-21">import java.io.ByteArrayInputStream;</span> +<span class="source-line-no">022</span><span id="line-22">import java.io.IOException;</span> +<span class="source-line-no">023</span><span id="line-23"></span> +<span class="source-line-no">024</span><span id="line-24">import org.apache.commons.imaging.ImagingException;</span> +<span class="source-line-no">025</span><span id="line-25"></span> +<span class="source-line-no">026</span><span id="line-26">public class TransparencyFilterTrueColor extends AbstractTransparencyFilter {</span> +<span class="source-line-no">027</span><span id="line-27"> private final int transparentColor;</span> +<span class="source-line-no">028</span><span id="line-28"></span> +<span class="source-line-no">029</span><span id="line-29"> public TransparencyFilterTrueColor(final byte[] bytes) throws IOException {</span> +<span class="source-line-no">030</span><span id="line-30"> super(bytes);</span> +<span class="source-line-no">031</span><span id="line-31"></span> +<span class="source-line-no">032</span><span id="line-32"> final ByteArrayInputStream is = new ByteArrayInputStream(bytes);</span> +<span class="source-line-no">033</span><span id="line-33"> final int transparentRed = read2Bytes("transparentRed", is, "tRNS: Missing transparentColor", getByteOrder());</span> +<span class="source-line-no">034</span><span id="line-34"> final int transparentGreen = read2Bytes("transparentGreen", is, "tRNS: Missing transparentColor", getByteOrder());</span> +<span class="source-line-no">035</span><span id="line-35"> final int transparentBlue = read2Bytes("transparentBlue", is, "tRNS: Missing transparentColor", getByteOrder());</span> +<span class="source-line-no">036</span><span id="line-36"></span> +<span class="source-line-no">037</span><span id="line-37"> transparentColor = (0xff & transparentRed) << 16 | (0xff & transparentGreen) << 8 | (0xff & transparentBlue) << 0;</span> +<span class="source-line-no">038</span><span id="line-38"></span> +<span class="source-line-no">039</span><span id="line-39"> }</span> +<span class="source-line-no">040</span><span id="line-40"></span> +<span class="source-line-no">041</span><span id="line-41"> @Override</span> +<span class="source-line-no">042</span><span id="line-42"> public int filter(final int rgb, final int sample) throws ImagingException, IOException {</span> +<span class="source-line-no">043</span><span id="line-43"> if ((0x00ffffff & rgb) == transparentColor) {</span> +<span class="source-line-no">044</span><span id="line-44"> return 0x00;</span> +<span class="source-line-no">045</span><span id="line-45"> }</span> +<span class="source-line-no">046</span><span id="line-46"></span> +<span class="source-line-no">047</span><span id="line-47"> return rgb;</span> +<span class="source-line-no">048</span><span id="line-48"> }</span> +<span class="source-line-no">049</span><span id="line-49">}</span> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</pre> +</div> +</main> +</body> +</html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParser.html ============================================================================== --- websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParser.html (added) +++ websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParser.html Wed May 15 13:26:03 2024 @@ -0,0 +1,122 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (17) --> +<title>Source code</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="description" content="source: package: org.apache.commons.imaging.formats.psd.dataparsers, class: DataParser"> +<meta name="generator" content="javadoc/SourceToHTMLConverter"> +<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style"> +</head> +<body class="source-page"> +<main role="main"> +<div class="source-container"> +<pre><span class="source-line-no">001</span><span id="line-1">/*</span> +<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one or more</span> +<span class="source-line-no">003</span><span id="line-3"> * contributor license agreements. See the NOTICE file distributed with</span> +<span class="source-line-no">004</span><span id="line-4"> * this work for additional information regarding copyright ownership.</span> +<span class="source-line-no">005</span><span id="line-5"> * The ASF licenses this file to You under the Apache License, Version 2.0</span> +<span class="source-line-no">006</span><span id="line-6"> * (the "License"); you may not use this file except in compliance with</span> +<span class="source-line-no">007</span><span id="line-7"> * the License. You may obtain a copy of the License at</span> +<span class="source-line-no">008</span><span id="line-8"> *</span> +<span class="source-line-no">009</span><span id="line-9"> * http://www.apache.org/licenses/LICENSE-2.0</span> +<span class="source-line-no">010</span><span id="line-10"> *</span> +<span class="source-line-no">011</span><span id="line-11"> * Unless required by applicable law or agreed to in writing, software</span> +<span class="source-line-no">012</span><span id="line-12"> * distributed under the License is distributed on an "AS IS" BASIS,</span> +<span class="source-line-no">013</span><span id="line-13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> +<span class="source-line-no">014</span><span id="line-14"> * See the License for the specific language governing permissions and</span> +<span class="source-line-no">015</span><span id="line-15"> * limitations under the License.</span> +<span class="source-line-no">016</span><span id="line-16"> */</span> +<span class="source-line-no">017</span><span id="line-17">package org.apache.commons.imaging.formats.psd.dataparsers;</span> +<span class="source-line-no">018</span><span id="line-18"></span> +<span class="source-line-no">019</span><span id="line-19">import java.awt.image.BufferedImage;</span> +<span class="source-line-no">020</span><span id="line-20">import java.awt.image.DataBuffer;</span> +<span class="source-line-no">021</span><span id="line-21"></span> +<span class="source-line-no">022</span><span id="line-22">import org.apache.commons.imaging.formats.psd.PsdHeaderInfo;</span> +<span class="source-line-no">023</span><span id="line-23">import org.apache.commons.imaging.formats.psd.PsdImageContents;</span> +<span class="source-line-no">024</span><span id="line-24"></span> +<span class="source-line-no">025</span><span id="line-25">public abstract class DataParser {</span> +<span class="source-line-no">026</span><span id="line-26"> public abstract int getBasicChannelsCount();</span> +<span class="source-line-no">027</span><span id="line-27"></span> +<span class="source-line-no">028</span><span id="line-28"> protected abstract int getRgb(int[][][] data, int x, int y, PsdImageContents imageContents);</span> +<span class="source-line-no">029</span><span id="line-29"></span> +<span class="source-line-no">030</span><span id="line-30"> public final void parseData(final int[][][] data, final BufferedImage bi, final PsdImageContents imageContents) {</span> +<span class="source-line-no">031</span><span id="line-31"> final DataBuffer buffer = bi.getRaster().getDataBuffer();</span> +<span class="source-line-no">032</span><span id="line-32"></span> +<span class="source-line-no">033</span><span id="line-33"> final PsdHeaderInfo header = imageContents.header;</span> +<span class="source-line-no">034</span><span id="line-34"> final int width = header.columns;</span> +<span class="source-line-no">035</span><span id="line-35"> final int height = header.rows;</span> +<span class="source-line-no">036</span><span id="line-36"></span> +<span class="source-line-no">037</span><span id="line-37"> for (int y = 0; y < height; y++) {</span> +<span class="source-line-no">038</span><span id="line-38"> for (int x = 0; x < width; x++) {</span> +<span class="source-line-no">039</span><span id="line-39"> final int rgb = getRgb(data, x, y, imageContents);</span> +<span class="source-line-no">040</span><span id="line-40"> buffer.setElem(y * width + x, rgb);</span> +<span class="source-line-no">041</span><span id="line-41"> }</span> +<span class="source-line-no">042</span><span id="line-42"> }</span> +<span class="source-line-no">043</span><span id="line-43"> }</span> +<span class="source-line-no">044</span><span id="line-44">}</span> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</pre> +</div> +</main> +</body> +</html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserBitmap.html ============================================================================== --- websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserBitmap.html (added) +++ websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserBitmap.html Wed May 15 13:26:03 2024 @@ -0,0 +1,120 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (17) --> +<title>Source code</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="description" content="source: package: org.apache.commons.imaging.formats.psd.dataparsers, class: DataParserBitmap"> +<meta name="generator" content="javadoc/SourceToHTMLConverter"> +<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style"> +</head> +<body class="source-page"> +<main role="main"> +<div class="source-container"> +<pre><span class="source-line-no">001</span><span id="line-1">/*</span> +<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one or more</span> +<span class="source-line-no">003</span><span id="line-3"> * contributor license agreements. See the NOTICE file distributed with</span> +<span class="source-line-no">004</span><span id="line-4"> * this work for additional information regarding copyright ownership.</span> +<span class="source-line-no">005</span><span id="line-5"> * The ASF licenses this file to You under the Apache License, Version 2.0</span> +<span class="source-line-no">006</span><span id="line-6"> * (the "License"); you may not use this file except in compliance with</span> +<span class="source-line-no">007</span><span id="line-7"> * the License. You may obtain a copy of the License at</span> +<span class="source-line-no">008</span><span id="line-8"> *</span> +<span class="source-line-no">009</span><span id="line-9"> * http://www.apache.org/licenses/LICENSE-2.0</span> +<span class="source-line-no">010</span><span id="line-10"> *</span> +<span class="source-line-no">011</span><span id="line-11"> * Unless required by applicable law or agreed to in writing, software</span> +<span class="source-line-no">012</span><span id="line-12"> * distributed under the License is distributed on an "AS IS" BASIS,</span> +<span class="source-line-no">013</span><span id="line-13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> +<span class="source-line-no">014</span><span id="line-14"> * See the License for the specific language governing permissions and</span> +<span class="source-line-no">015</span><span id="line-15"> * limitations under the License.</span> +<span class="source-line-no">016</span><span id="line-16"> */</span> +<span class="source-line-no">017</span><span id="line-17">package org.apache.commons.imaging.formats.psd.dataparsers;</span> +<span class="source-line-no">018</span><span id="line-18"></span> +<span class="source-line-no">019</span><span id="line-19">import org.apache.commons.imaging.formats.psd.PsdImageContents;</span> +<span class="source-line-no">020</span><span id="line-20"></span> +<span class="source-line-no">021</span><span id="line-21">public class DataParserBitmap extends DataParser {</span> +<span class="source-line-no">022</span><span id="line-22"></span> +<span class="source-line-no">023</span><span id="line-23"> @Override</span> +<span class="source-line-no">024</span><span id="line-24"> public int getBasicChannelsCount() {</span> +<span class="source-line-no">025</span><span id="line-25"> return 1;</span> +<span class="source-line-no">026</span><span id="line-26"> }</span> +<span class="source-line-no">027</span><span id="line-27"></span> +<span class="source-line-no">028</span><span id="line-28"> @Override</span> +<span class="source-line-no">029</span><span id="line-29"> protected int getRgb(final int[][][] data, final int x, final int y, final PsdImageContents imageContents) {</span> +<span class="source-line-no">030</span><span id="line-30"> int sample = 0xff & data[0][y][x];</span> +<span class="source-line-no">031</span><span id="line-31"> if (sample == 0) {</span> +<span class="source-line-no">032</span><span id="line-32"> sample = 255;</span> +<span class="source-line-no">033</span><span id="line-33"> } else {</span> +<span class="source-line-no">034</span><span id="line-34"> sample = 0;</span> +<span class="source-line-no">035</span><span id="line-35"> }</span> +<span class="source-line-no">036</span><span id="line-36"> // sample = 255- sample;</span> +<span class="source-line-no">037</span><span id="line-37"> final int alpha = 0xff;</span> +<span class="source-line-no">038</span><span id="line-38"></span> +<span class="source-line-no">039</span><span id="line-39"> return (0xff & alpha) << 24 | (0xff & sample) << 16 | (0xff & sample) << 8 | (0xff & sample) << 0;</span> +<span class="source-line-no">040</span><span id="line-40"> }</span> +<span class="source-line-no">041</span><span id="line-41"></span> +<span class="source-line-no">042</span><span id="line-42">}</span> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</pre> +</div> +</main> +</body> +</html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserCmyk.html ============================================================================== --- websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserCmyk.html (added) +++ websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserCmyk.html Wed May 15 13:26:03 2024 @@ -0,0 +1,122 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (17) --> +<title>Source code</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="description" content="source: package: org.apache.commons.imaging.formats.psd.dataparsers, class: DataParserCmyk"> +<meta name="generator" content="javadoc/SourceToHTMLConverter"> +<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style"> +</head> +<body class="source-page"> +<main role="main"> +<div class="source-container"> +<pre><span class="source-line-no">001</span><span id="line-1">/*</span> +<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one or more</span> +<span class="source-line-no">003</span><span id="line-3"> * contributor license agreements. See the NOTICE file distributed with</span> +<span class="source-line-no">004</span><span id="line-4"> * this work for additional information regarding copyright ownership.</span> +<span class="source-line-no">005</span><span id="line-5"> * The ASF licenses this file to You under the Apache License, Version 2.0</span> +<span class="source-line-no">006</span><span id="line-6"> * (the "License"); you may not use this file except in compliance with</span> +<span class="source-line-no">007</span><span id="line-7"> * the License. You may obtain a copy of the License at</span> +<span class="source-line-no">008</span><span id="line-8"> *</span> +<span class="source-line-no">009</span><span id="line-9"> * http://www.apache.org/licenses/LICENSE-2.0</span> +<span class="source-line-no">010</span><span id="line-10"> *</span> +<span class="source-line-no">011</span><span id="line-11"> * Unless required by applicable law or agreed to in writing, software</span> +<span class="source-line-no">012</span><span id="line-12"> * distributed under the License is distributed on an "AS IS" BASIS,</span> +<span class="source-line-no">013</span><span id="line-13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> +<span class="source-line-no">014</span><span id="line-14"> * See the License for the specific language governing permissions and</span> +<span class="source-line-no">015</span><span id="line-15"> * limitations under the License.</span> +<span class="source-line-no">016</span><span id="line-16"> */</span> +<span class="source-line-no">017</span><span id="line-17">package org.apache.commons.imaging.formats.psd.dataparsers;</span> +<span class="source-line-no">018</span><span id="line-18"></span> +<span class="source-line-no">019</span><span id="line-19">import org.apache.commons.imaging.color.ColorConversions;</span> +<span class="source-line-no">020</span><span id="line-20">import org.apache.commons.imaging.formats.psd.PsdImageContents;</span> +<span class="source-line-no">021</span><span id="line-21"></span> +<span class="source-line-no">022</span><span id="line-22">public class DataParserCmyk extends DataParser {</span> +<span class="source-line-no">023</span><span id="line-23"> @Override</span> +<span class="source-line-no">024</span><span id="line-24"> public int getBasicChannelsCount() {</span> +<span class="source-line-no">025</span><span id="line-25"> return 4;</span> +<span class="source-line-no">026</span><span id="line-26"> }</span> +<span class="source-line-no">027</span><span id="line-27"></span> +<span class="source-line-no">028</span><span id="line-28"> @Override</span> +<span class="source-line-no">029</span><span id="line-29"> protected int getRgb(final int[][][] data, final int x, final int y, final PsdImageContents imageContents) {</span> +<span class="source-line-no">030</span><span id="line-30"> int sc = 0xff & data[0][y][x];</span> +<span class="source-line-no">031</span><span id="line-31"> int sm = 0xff & data[1][y][x];</span> +<span class="source-line-no">032</span><span id="line-32"> int sy = 0xff & data[2][y][x];</span> +<span class="source-line-no">033</span><span id="line-33"> int sk = 0xff & data[3][y][x];</span> +<span class="source-line-no">034</span><span id="line-34"></span> +<span class="source-line-no">035</span><span id="line-35"> // CRAZY adobe has to store the bytes in reverse form.</span> +<span class="source-line-no">036</span><span id="line-36"> sc = 255 - sc;</span> +<span class="source-line-no">037</span><span id="line-37"> sm = 255 - sm;</span> +<span class="source-line-no">038</span><span id="line-38"> sy = 255 - sy;</span> +<span class="source-line-no">039</span><span id="line-39"> sk = 255 - sk;</span> +<span class="source-line-no">040</span><span id="line-40"></span> +<span class="source-line-no">041</span><span id="line-41"> return ColorConversions.convertCmykToRgb(sc, sm, sy, sk);</span> +<span class="source-line-no">042</span><span id="line-42"> }</span> +<span class="source-line-no">043</span><span id="line-43"></span> +<span class="source-line-no">044</span><span id="line-44">}</span> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</pre> +</div> +</main> +</body> +</html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserGrayscale.html ============================================================================== --- websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserGrayscale.html (added) +++ websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserGrayscale.html Wed May 15 13:26:03 2024 @@ -0,0 +1,113 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (17) --> +<title>Source code</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="description" content="source: package: org.apache.commons.imaging.formats.psd.dataparsers, class: DataParserGrayscale"> +<meta name="generator" content="javadoc/SourceToHTMLConverter"> +<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style"> +</head> +<body class="source-page"> +<main role="main"> +<div class="source-container"> +<pre><span class="source-line-no">001</span><span id="line-1">/*</span> +<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one or more</span> +<span class="source-line-no">003</span><span id="line-3"> * contributor license agreements. See the NOTICE file distributed with</span> +<span class="source-line-no">004</span><span id="line-4"> * this work for additional information regarding copyright ownership.</span> +<span class="source-line-no">005</span><span id="line-5"> * The ASF licenses this file to You under the Apache License, Version 2.0</span> +<span class="source-line-no">006</span><span id="line-6"> * (the "License"); you may not use this file except in compliance with</span> +<span class="source-line-no">007</span><span id="line-7"> * the License. You may obtain a copy of the License at</span> +<span class="source-line-no">008</span><span id="line-8"> *</span> +<span class="source-line-no">009</span><span id="line-9"> * http://www.apache.org/licenses/LICENSE-2.0</span> +<span class="source-line-no">010</span><span id="line-10"> *</span> +<span class="source-line-no">011</span><span id="line-11"> * Unless required by applicable law or agreed to in writing, software</span> +<span class="source-line-no">012</span><span id="line-12"> * distributed under the License is distributed on an "AS IS" BASIS,</span> +<span class="source-line-no">013</span><span id="line-13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> +<span class="source-line-no">014</span><span id="line-14"> * See the License for the specific language governing permissions and</span> +<span class="source-line-no">015</span><span id="line-15"> * limitations under the License.</span> +<span class="source-line-no">016</span><span id="line-16"> */</span> +<span class="source-line-no">017</span><span id="line-17">package org.apache.commons.imaging.formats.psd.dataparsers;</span> +<span class="source-line-no">018</span><span id="line-18"></span> +<span class="source-line-no">019</span><span id="line-19">import org.apache.commons.imaging.formats.psd.PsdImageContents;</span> +<span class="source-line-no">020</span><span id="line-20"></span> +<span class="source-line-no">021</span><span id="line-21">public class DataParserGrayscale extends DataParser {</span> +<span class="source-line-no">022</span><span id="line-22"> @Override</span> +<span class="source-line-no">023</span><span id="line-23"> public int getBasicChannelsCount() {</span> +<span class="source-line-no">024</span><span id="line-24"> return 1;</span> +<span class="source-line-no">025</span><span id="line-25"> }</span> +<span class="source-line-no">026</span><span id="line-26"></span> +<span class="source-line-no">027</span><span id="line-27"> @Override</span> +<span class="source-line-no">028</span><span id="line-28"> protected int getRgb(final int[][][] data, final int x, final int y, final PsdImageContents imageContents) {</span> +<span class="source-line-no">029</span><span id="line-29"> final int sample = 0xff & data[0][y][x];</span> +<span class="source-line-no">030</span><span id="line-30"> final int alpha = 0xff;</span> +<span class="source-line-no">031</span><span id="line-31"></span> +<span class="source-line-no">032</span><span id="line-32"> return (0xff & alpha) << 24 | (0xff & sample) << 16 | (0xff & sample) << 8 | (0xff & sample) << 0;</span> +<span class="source-line-no">033</span><span id="line-33"> }</span> +<span class="source-line-no">034</span><span id="line-34"></span> +<span class="source-line-no">035</span><span id="line-35">}</span> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</pre> +</div> +</main> +</body> +</html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserIndexed.html ============================================================================== --- websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserIndexed.html (added) +++ websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserIndexed.html Wed May 15 13:26:03 2024 @@ -0,0 +1,128 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (17) --> +<title>Source code</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="description" content="source: package: org.apache.commons.imaging.formats.psd.dataparsers, class: DataParserIndexed"> +<meta name="generator" content="javadoc/SourceToHTMLConverter"> +<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style"> +</head> +<body class="source-page"> +<main role="main"> +<div class="source-container"> +<pre><span class="source-line-no">001</span><span id="line-1">/*</span> +<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one or more</span> +<span class="source-line-no">003</span><span id="line-3"> * contributor license agreements. See the NOTICE file distributed with</span> +<span class="source-line-no">004</span><span id="line-4"> * this work for additional information regarding copyright ownership.</span> +<span class="source-line-no">005</span><span id="line-5"> * The ASF licenses this file to You under the Apache License, Version 2.0</span> +<span class="source-line-no">006</span><span id="line-6"> * (the "License"); you may not use this file except in compliance with</span> +<span class="source-line-no">007</span><span id="line-7"> * the License. You may obtain a copy of the License at</span> +<span class="source-line-no">008</span><span id="line-8"> *</span> +<span class="source-line-no">009</span><span id="line-9"> * http://www.apache.org/licenses/LICENSE-2.0</span> +<span class="source-line-no">010</span><span id="line-10"> *</span> +<span class="source-line-no">011</span><span id="line-11"> * Unless required by applicable law or agreed to in writing, software</span> +<span class="source-line-no">012</span><span id="line-12"> * distributed under the License is distributed on an "AS IS" BASIS,</span> +<span class="source-line-no">013</span><span id="line-13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> +<span class="source-line-no">014</span><span id="line-14"> * See the License for the specific language governing permissions and</span> +<span class="source-line-no">015</span><span id="line-15"> * limitations under the License.</span> +<span class="source-line-no">016</span><span id="line-16"> */</span> +<span class="source-line-no">017</span><span id="line-17">package org.apache.commons.imaging.formats.psd.dataparsers;</span> +<span class="source-line-no">018</span><span id="line-18"></span> +<span class="source-line-no">019</span><span id="line-19">import java.util.Arrays;</span> +<span class="source-line-no">020</span><span id="line-20"></span> +<span class="source-line-no">021</span><span id="line-21">import org.apache.commons.imaging.formats.psd.PsdImageContents;</span> +<span class="source-line-no">022</span><span id="line-22"></span> +<span class="source-line-no">023</span><span id="line-23">public class DataParserIndexed extends DataParser {</span> +<span class="source-line-no">024</span><span id="line-24"> private final int[] colorTable;</span> +<span class="source-line-no">025</span><span id="line-25"></span> +<span class="source-line-no">026</span><span id="line-26"> public DataParserIndexed(final byte[] colorModeData) {</span> +<span class="source-line-no">027</span><span id="line-27"> colorTable = new int[256];</span> +<span class="source-line-no">028</span><span id="line-28"> Arrays.setAll(colorTable, i -> {</span> +<span class="source-line-no">029</span><span id="line-29"> final int red = 0xff & colorModeData[0 * 256 + i];</span> +<span class="source-line-no">030</span><span id="line-30"> final int green = 0xff & colorModeData[1 * 256 + i];</span> +<span class="source-line-no">031</span><span id="line-31"> final int blue = 0xff & colorModeData[2 * 256 + i];</span> +<span class="source-line-no">032</span><span id="line-32"> final int alpha = 0xff;</span> +<span class="source-line-no">033</span><span id="line-33"></span> +<span class="source-line-no">034</span><span id="line-34"> // return RGB</span> +<span class="source-line-no">035</span><span id="line-35"> return (0xff & alpha) << 24 | (0xff & red) << 16 | (0xff & green) << 8 | (0xff & blue) << 0;</span> +<span class="source-line-no">036</span><span id="line-36"> });</span> +<span class="source-line-no">037</span><span id="line-37"> }</span> +<span class="source-line-no">038</span><span id="line-38"></span> +<span class="source-line-no">039</span><span id="line-39"> @Override</span> +<span class="source-line-no">040</span><span id="line-40"> public int getBasicChannelsCount() {</span> +<span class="source-line-no">041</span><span id="line-41"> return 1;</span> +<span class="source-line-no">042</span><span id="line-42"> }</span> +<span class="source-line-no">043</span><span id="line-43"></span> +<span class="source-line-no">044</span><span id="line-44"> @Override</span> +<span class="source-line-no">045</span><span id="line-45"> protected int getRgb(final int[][][] data, final int x, final int y, final PsdImageContents imageContents) {</span> +<span class="source-line-no">046</span><span id="line-46"> final int sample = 0xff & data[0][y][x];</span> +<span class="source-line-no">047</span><span id="line-47"> return colorTable[sample];</span> +<span class="source-line-no">048</span><span id="line-48"> }</span> +<span class="source-line-no">049</span><span id="line-49"></span> +<span class="source-line-no">050</span><span id="line-50">}</span> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</pre> +</div> +</main> +</body> +</html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserLab.html ============================================================================== --- websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserLab.html (added) +++ websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserLab.html Wed May 15 13:26:03 2024 @@ -0,0 +1,118 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (17) --> +<title>Source code</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="description" content="source: package: org.apache.commons.imaging.formats.psd.dataparsers, class: DataParserLab"> +<meta name="generator" content="javadoc/SourceToHTMLConverter"> +<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style"> +</head> +<body class="source-page"> +<main role="main"> +<div class="source-container"> +<pre><span class="source-line-no">001</span><span id="line-1">/*</span> +<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one or more</span> +<span class="source-line-no">003</span><span id="line-3"> * contributor license agreements. See the NOTICE file distributed with</span> +<span class="source-line-no">004</span><span id="line-4"> * this work for additional information regarding copyright ownership.</span> +<span class="source-line-no">005</span><span id="line-5"> * The ASF licenses this file to You under the Apache License, Version 2.0</span> +<span class="source-line-no">006</span><span id="line-6"> * (the "License"); you may not use this file except in compliance with</span> +<span class="source-line-no">007</span><span id="line-7"> * the License. You may obtain a copy of the License at</span> +<span class="source-line-no">008</span><span id="line-8"> *</span> +<span class="source-line-no">009</span><span id="line-9"> * http://www.apache.org/licenses/LICENSE-2.0</span> +<span class="source-line-no">010</span><span id="line-10"> *</span> +<span class="source-line-no">011</span><span id="line-11"> * Unless required by applicable law or agreed to in writing, software</span> +<span class="source-line-no">012</span><span id="line-12"> * distributed under the License is distributed on an "AS IS" BASIS,</span> +<span class="source-line-no">013</span><span id="line-13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> +<span class="source-line-no">014</span><span id="line-14"> * See the License for the specific language governing permissions and</span> +<span class="source-line-no">015</span><span id="line-15"> * limitations under the License.</span> +<span class="source-line-no">016</span><span id="line-16"> */</span> +<span class="source-line-no">017</span><span id="line-17">package org.apache.commons.imaging.formats.psd.dataparsers;</span> +<span class="source-line-no">018</span><span id="line-18"></span> +<span class="source-line-no">019</span><span id="line-19">import org.apache.commons.imaging.color.ColorConversions;</span> +<span class="source-line-no">020</span><span id="line-20">import org.apache.commons.imaging.formats.psd.PsdImageContents;</span> +<span class="source-line-no">021</span><span id="line-21"></span> +<span class="source-line-no">022</span><span id="line-22">public class DataParserLab extends DataParser {</span> +<span class="source-line-no">023</span><span id="line-23"></span> +<span class="source-line-no">024</span><span id="line-24"> @Override</span> +<span class="source-line-no">025</span><span id="line-25"> public int getBasicChannelsCount() {</span> +<span class="source-line-no">026</span><span id="line-26"> return 3;</span> +<span class="source-line-no">027</span><span id="line-27"> }</span> +<span class="source-line-no">028</span><span id="line-28"></span> +<span class="source-line-no">029</span><span id="line-29"> @Override</span> +<span class="source-line-no">030</span><span id="line-30"> protected int getRgb(final int[][][] data, final int x, final int y, final PsdImageContents imageContents) {</span> +<span class="source-line-no">031</span><span id="line-31"> final int cieL = 0xff & data[0][y][x];</span> +<span class="source-line-no">032</span><span id="line-32"> int cieA = 0xff & data[1][y][x];</span> +<span class="source-line-no">033</span><span id="line-33"> int cieB = 0xff & data[2][y][x];</span> +<span class="source-line-no">034</span><span id="line-34"></span> +<span class="source-line-no">035</span><span id="line-35"> cieA -= 128;</span> +<span class="source-line-no">036</span><span id="line-36"> cieB -= 128;</span> +<span class="source-line-no">037</span><span id="line-37"></span> +<span class="source-line-no">038</span><span id="line-38"> return ColorConversions.convertCieLabToArgbTest(cieL, cieA, cieB);</span> +<span class="source-line-no">039</span><span id="line-39"> }</span> +<span class="source-line-no">040</span><span id="line-40">}</span> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</pre> +</div> +</main> +</body> +</html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserRgb.html ============================================================================== --- websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserRgb.html (added) +++ websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserRgb.html Wed May 15 13:26:03 2024 @@ -0,0 +1,115 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (17) --> +<title>Source code</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="description" content="source: package: org.apache.commons.imaging.formats.psd.dataparsers, class: DataParserRgb"> +<meta name="generator" content="javadoc/SourceToHTMLConverter"> +<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style"> +</head> +<body class="source-page"> +<main role="main"> +<div class="source-container"> +<pre><span class="source-line-no">001</span><span id="line-1">/*</span> +<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one or more</span> +<span class="source-line-no">003</span><span id="line-3"> * contributor license agreements. See the NOTICE file distributed with</span> +<span class="source-line-no">004</span><span id="line-4"> * this work for additional information regarding copyright ownership.</span> +<span class="source-line-no">005</span><span id="line-5"> * The ASF licenses this file to You under the Apache License, Version 2.0</span> +<span class="source-line-no">006</span><span id="line-6"> * (the "License"); you may not use this file except in compliance with</span> +<span class="source-line-no">007</span><span id="line-7"> * the License. You may obtain a copy of the License at</span> +<span class="source-line-no">008</span><span id="line-8"> *</span> +<span class="source-line-no">009</span><span id="line-9"> * http://www.apache.org/licenses/LICENSE-2.0</span> +<span class="source-line-no">010</span><span id="line-10"> *</span> +<span class="source-line-no">011</span><span id="line-11"> * Unless required by applicable law or agreed to in writing, software</span> +<span class="source-line-no">012</span><span id="line-12"> * distributed under the License is distributed on an "AS IS" BASIS,</span> +<span class="source-line-no">013</span><span id="line-13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> +<span class="source-line-no">014</span><span id="line-14"> * See the License for the specific language governing permissions and</span> +<span class="source-line-no">015</span><span id="line-15"> * limitations under the License.</span> +<span class="source-line-no">016</span><span id="line-16"> */</span> +<span class="source-line-no">017</span><span id="line-17">package org.apache.commons.imaging.formats.psd.dataparsers;</span> +<span class="source-line-no">018</span><span id="line-18"></span> +<span class="source-line-no">019</span><span id="line-19">import org.apache.commons.imaging.formats.psd.PsdImageContents;</span> +<span class="source-line-no">020</span><span id="line-20"></span> +<span class="source-line-no">021</span><span id="line-21">public class DataParserRgb extends DataParser {</span> +<span class="source-line-no">022</span><span id="line-22"> @Override</span> +<span class="source-line-no">023</span><span id="line-23"> public int getBasicChannelsCount() {</span> +<span class="source-line-no">024</span><span id="line-24"> return 3;</span> +<span class="source-line-no">025</span><span id="line-25"> }</span> +<span class="source-line-no">026</span><span id="line-26"></span> +<span class="source-line-no">027</span><span id="line-27"> @Override</span> +<span class="source-line-no">028</span><span id="line-28"> protected int getRgb(final int[][][] data, final int x, final int y, final PsdImageContents imageContents) {</span> +<span class="source-line-no">029</span><span id="line-29"> final int red = 0xff & data[0][y][x];</span> +<span class="source-line-no">030</span><span id="line-30"> final int green = 0xff & data[1][y][x];</span> +<span class="source-line-no">031</span><span id="line-31"> final int blue = 0xff & data[2][y][x];</span> +<span class="source-line-no">032</span><span id="line-32"> final int alpha = 0xff;</span> +<span class="source-line-no">033</span><span id="line-33"></span> +<span class="source-line-no">034</span><span id="line-34"> return (0xff & alpha) << 24 | (0xff & red) << 16 | (0xff & green) << 8 | (0xff & blue) << 0;</span> +<span class="source-line-no">035</span><span id="line-35"> }</span> +<span class="source-line-no">036</span><span id="line-36"></span> +<span class="source-line-no">037</span><span id="line-37">}</span> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</pre> +</div> +</main> +</body> +</html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserStub.html ============================================================================== --- websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserStub.html (added) +++ websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/dataparsers/DataParserStub.html Wed May 15 13:26:03 2024 @@ -0,0 +1,110 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (17) --> +<title>Source code</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="description" content="source: package: org.apache.commons.imaging.formats.psd.dataparsers, class: DataParserStub"> +<meta name="generator" content="javadoc/SourceToHTMLConverter"> +<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style"> +</head> +<body class="source-page"> +<main role="main"> +<div class="source-container"> +<pre><span class="source-line-no">001</span><span id="line-1">/*</span> +<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one or more</span> +<span class="source-line-no">003</span><span id="line-3"> * contributor license agreements. See the NOTICE file distributed with</span> +<span class="source-line-no">004</span><span id="line-4"> * this work for additional information regarding copyright ownership.</span> +<span class="source-line-no">005</span><span id="line-5"> * The ASF licenses this file to You under the Apache License, Version 2.0</span> +<span class="source-line-no">006</span><span id="line-6"> * (the "License"); you may not use this file except in compliance with</span> +<span class="source-line-no">007</span><span id="line-7"> * the License. You may obtain a copy of the License at</span> +<span class="source-line-no">008</span><span id="line-8"> *</span> +<span class="source-line-no">009</span><span id="line-9"> * http://www.apache.org/licenses/LICENSE-2.0</span> +<span class="source-line-no">010</span><span id="line-10"> *</span> +<span class="source-line-no">011</span><span id="line-11"> * Unless required by applicable law or agreed to in writing, software</span> +<span class="source-line-no">012</span><span id="line-12"> * distributed under the License is distributed on an "AS IS" BASIS,</span> +<span class="source-line-no">013</span><span id="line-13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> +<span class="source-line-no">014</span><span id="line-14"> * See the License for the specific language governing permissions and</span> +<span class="source-line-no">015</span><span id="line-15"> * limitations under the License.</span> +<span class="source-line-no">016</span><span id="line-16"> */</span> +<span class="source-line-no">017</span><span id="line-17">package org.apache.commons.imaging.formats.psd.dataparsers;</span> +<span class="source-line-no">018</span><span id="line-18"></span> +<span class="source-line-no">019</span><span id="line-19">import org.apache.commons.imaging.formats.psd.PsdImageContents;</span> +<span class="source-line-no">020</span><span id="line-20"></span> +<span class="source-line-no">021</span><span id="line-21">public class DataParserStub extends DataParser {</span> +<span class="source-line-no">022</span><span id="line-22"> @Override</span> +<span class="source-line-no">023</span><span id="line-23"> public int getBasicChannelsCount() {</span> +<span class="source-line-no">024</span><span id="line-24"> return 1;</span> +<span class="source-line-no">025</span><span id="line-25"> }</span> +<span class="source-line-no">026</span><span id="line-26"></span> +<span class="source-line-no">027</span><span id="line-27"> @Override</span> +<span class="source-line-no">028</span><span id="line-28"> protected int getRgb(final int[][][] data, final int x, final int y, final PsdImageContents imageContents) {</span> +<span class="source-line-no">029</span><span id="line-29"> return 0;</span> +<span class="source-line-no">030</span><span id="line-30"> }</span> +<span class="source-line-no">031</span><span id="line-31"></span> +<span class="source-line-no">032</span><span id="line-32">}</span> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</pre> +</div> +</main> +</body> +</html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/datareaders/CompressedDataReader.html ============================================================================== --- websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/datareaders/CompressedDataReader.html (added) +++ websites/production/commons/content/proper/commons-imaging/apidocs/src-html/org/apache/commons/imaging/formats/psd/datareaders/CompressedDataReader.html Wed May 15 13:26:03 2024 @@ -0,0 +1,162 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> +<!-- Generated by javadoc (17) --> +<title>Source code</title> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<meta name="description" content="source: package: org.apache.commons.imaging.formats.psd.datareaders, class: CompressedDataReader"> +<meta name="generator" content="javadoc/SourceToHTMLConverter"> +<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style"> +</head> +<body class="source-page"> +<main role="main"> +<div class="source-container"> +<pre><span class="source-line-no">001</span><span id="line-1">/*</span> +<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one or more</span> +<span class="source-line-no">003</span><span id="line-3"> * contributor license agreements. See the NOTICE file distributed with</span> +<span class="source-line-no">004</span><span id="line-4"> * this work for additional information regarding copyright ownership.</span> +<span class="source-line-no">005</span><span id="line-5"> * The ASF licenses this file to You under the Apache License, Version 2.0</span> +<span class="source-line-no">006</span><span id="line-6"> * (the "License"); you may not use this file except in compliance with</span> +<span class="source-line-no">007</span><span id="line-7"> * the License. You may obtain a copy of the License at</span> +<span class="source-line-no">008</span><span id="line-8"> *</span> +<span class="source-line-no">009</span><span id="line-9"> * http://www.apache.org/licenses/LICENSE-2.0</span> +<span class="source-line-no">010</span><span id="line-10"> *</span> +<span class="source-line-no">011</span><span id="line-11"> * Unless required by applicable law or agreed to in writing, software</span> +<span class="source-line-no">012</span><span id="line-12"> * distributed under the License is distributed on an "AS IS" BASIS,</span> +<span class="source-line-no">013</span><span id="line-13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span> +<span class="source-line-no">014</span><span id="line-14"> * See the License for the specific language governing permissions and</span> +<span class="source-line-no">015</span><span id="line-15"> * limitations under the License.</span> +<span class="source-line-no">016</span><span id="line-16"> */</span> +<span class="source-line-no">017</span><span id="line-17">package org.apache.commons.imaging.formats.psd.datareaders;</span> +<span class="source-line-no">018</span><span id="line-18"></span> +<span class="source-line-no">019</span><span id="line-19">import java.awt.image.BufferedImage;</span> +<span class="source-line-no">020</span><span id="line-20">import java.io.ByteArrayInputStream;</span> +<span class="source-line-no">021</span><span id="line-21">import java.io.IOException;</span> +<span class="source-line-no">022</span><span id="line-22">import java.io.InputStream;</span> +<span class="source-line-no">023</span><span id="line-23">import java.nio.ByteOrder;</span> +<span class="source-line-no">024</span><span id="line-24"></span> +<span class="source-line-no">025</span><span id="line-25">import org.apache.commons.imaging.ImagingException;</span> +<span class="source-line-no">026</span><span id="line-26">import org.apache.commons.imaging.common.Allocator;</span> +<span class="source-line-no">027</span><span id="line-27">import org.apache.commons.imaging.common.BinaryFileParser;</span> +<span class="source-line-no">028</span><span id="line-28">import org.apache.commons.imaging.common.BinaryFunctions;</span> +<span class="source-line-no">029</span><span id="line-29">import org.apache.commons.imaging.common.PackBits;</span> +<span class="source-line-no">030</span><span id="line-30">import org.apache.commons.imaging.formats.psd.PsdHeaderInfo;</span> +<span class="source-line-no">031</span><span id="line-31">import org.apache.commons.imaging.formats.psd.PsdImageContents;</span> +<span class="source-line-no">032</span><span id="line-32">import org.apache.commons.imaging.formats.psd.dataparsers.DataParser;</span> +<span class="source-line-no">033</span><span id="line-33">import org.apache.commons.imaging.mylzw.BitsToByteInputStream;</span> +<span class="source-line-no">034</span><span id="line-34">import org.apache.commons.imaging.mylzw.MyBitInputStream;</span> +<span class="source-line-no">035</span><span id="line-35"></span> +<span class="source-line-no">036</span><span id="line-36">public class CompressedDataReader implements DataReader {</span> +<span class="source-line-no">037</span><span id="line-37"></span> +<span class="source-line-no">038</span><span id="line-38"> private final DataParser dataParser;</span> +<span class="source-line-no">039</span><span id="line-39"></span> +<span class="source-line-no">040</span><span id="line-40"> public CompressedDataReader(final DataParser dataParser) {</span> +<span class="source-line-no">041</span><span id="line-41"> this.dataParser = dataParser;</span> +<span class="source-line-no">042</span><span id="line-42"> }</span> +<span class="source-line-no">043</span><span id="line-43"></span> +<span class="source-line-no">044</span><span id="line-44"> @Override</span> +<span class="source-line-no">045</span><span id="line-45"> public void readData(final InputStream is, final BufferedImage bi, final PsdImageContents imageContents, final BinaryFileParser bfp)</span> +<span class="source-line-no">046</span><span id="line-46"> throws ImagingException, IOException {</span> +<span class="source-line-no">047</span><span id="line-47"> final PsdHeaderInfo header = imageContents.header;</span> +<span class="source-line-no">048</span><span id="line-48"> final int width = header.columns;</span> +<span class="source-line-no">049</span><span id="line-49"> final int height = header.rows;</span> +<span class="source-line-no">050</span><span id="line-50"></span> +<span class="source-line-no">051</span><span id="line-51"> // this.setDebug(true);</span> +<span class="source-line-no">052</span><span id="line-52"> final int scanlineCount = height * header.channels;</span> +<span class="source-line-no">053</span><span id="line-53"> final int[] scanlineByteCounts = Allocator.intArray(scanlineCount);</span> +<span class="source-line-no">054</span><span id="line-54"> for (int i = 0; i < scanlineCount; i++) {</span> +<span class="source-line-no">055</span><span id="line-55"> scanlineByteCounts[i] = BinaryFunctions.read2Bytes("scanlineByteCounts[" + i + "]", is, "PSD: bad Image Data", bfp.getByteOrder());</span> +<span class="source-line-no">056</span><span id="line-56"> }</span> +<span class="source-line-no">057</span><span id="line-57"> // System.out.println("fImageContents.Compression: "</span> +<span class="source-line-no">058</span><span id="line-58"> // + imageContents.Compression);</span> +<span class="source-line-no">059</span><span id="line-59"></span> +<span class="source-line-no">060</span><span id="line-60"> final int depth = header.depth;</span> +<span class="source-line-no">061</span><span id="line-61"></span> +<span class="source-line-no">062</span><span id="line-62"> final int channelCount = dataParser.getBasicChannelsCount();</span> +<span class="source-line-no">063</span><span id="line-63"> final int[][][] data = new int[Allocator.check(channelCount)][Allocator.check(height)][];</span> +<span class="source-line-no">064</span><span id="line-64"> // channels[0] =</span> +<span class="source-line-no">065</span><span id="line-65"> for (int channel = 0; channel < channelCount; channel++) {</span> +<span class="source-line-no">066</span><span id="line-66"> for (int y = 0; y < height; y++) {</span> +<span class="source-line-no">067</span><span id="line-67"> final int index = channel * height + y;</span> +<span class="source-line-no">068</span><span id="line-68"> final byte[] packed = BinaryFunctions.readBytes("scanline", is, scanlineByteCounts[index], "PSD: Missing Image Data");</span> +<span class="source-line-no">069</span><span id="line-69"></span> +<span class="source-line-no">070</span><span id="line-70"> final byte[] unpacked = PackBits.decompress(packed, width);</span> +<span class="source-line-no">071</span><span id="line-71"> try (InputStream bais = new ByteArrayInputStream(unpacked);</span> +<span class="source-line-no">072</span><span id="line-72"> MyBitInputStream mbis = new MyBitInputStream(bais, ByteOrder.BIG_ENDIAN, false)) {</span> +<span class="source-line-no">073</span><span id="line-73"> // we want all samples to be bytes</span> +<span class="source-line-no">074</span><span id="line-74"> try (BitsToByteInputStream bbis = new BitsToByteInputStream(mbis, 8)) {</span> +<span class="source-line-no">075</span><span id="line-75"> final int[] scanline = bbis.readBitsArray(depth, width);</span> +<span class="source-line-no">076</span><span id="line-76"> data[channel][y] = scanline;</span> +<span class="source-line-no">077</span><span id="line-77"> }</span> +<span class="source-line-no">078</span><span id="line-78"> }</span> +<span class="source-line-no">079</span><span id="line-79"> }</span> +<span class="source-line-no">080</span><span id="line-80"> }</span> +<span class="source-line-no">081</span><span id="line-81"> dataParser.parseData(data, bi, imageContents);</span> +<span class="source-line-no">082</span><span id="line-82"> }</span> +<span class="source-line-no">083</span><span id="line-83"></span> +<span class="source-line-no">084</span><span id="line-84">}</span> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</pre> +</div> +</main> +</body> +</html> \ No newline at end of file
