MCPcopy Create free account
hub / github.com/benfry/processing4 / blitResizeBilinear

Method blitResizeBilinear

core/src/processing/core/PImage.java:1820–2029  ·  view source on GitHub ↗
(PImage img,
                                  int[] destPixels, int destOffset, int screenW,
                                  int destW, int destH,
                                  int dx, int dy,
                                  int mode)

Source from the content-addressed store, hash-verified

1818 }
1819
1820 private void blitResizeBilinear(PImage img,
1821 int[] destPixels, int destOffset, int screenW,
1822 int destW, int destH,
1823 int dx, int dy,
1824 int mode) {
1825 // use bilinear filtering
1826 iw = img.pixelWidth;
1827 iw1 = img.pixelWidth - 1;
1828 ih1 = img.pixelHeight - 1;
1829
1830 switch (mode) {
1831
1832 case BLEND:
1833 for (int y = 0; y < destH; y++) {
1834 filter_new_scanline();
1835 for (int x = 0; x < destW; x++) {
1836 // davbol - renamed old blend_multiply to blend_blend
1837 destPixels[destOffset + x] =
1838 blend_blend(destPixels[destOffset + x], filter_bilinear());
1839 sX += dx;
1840 }
1841 destOffset += screenW;
1842 srcYOffset += dy;
1843 }
1844 break;
1845
1846 case ADD:
1847 for (int y = 0; y < destH; y++) {
1848 filter_new_scanline();
1849 for (int x = 0; x < destW; x++) {
1850 destPixels[destOffset + x] =
1851 blend_add_pin(destPixels[destOffset + x], filter_bilinear());
1852 sX += dx;
1853 }
1854 destOffset += screenW;
1855 srcYOffset += dy;
1856 }
1857 break;
1858
1859 case SUBTRACT:
1860 for (int y = 0; y < destH; y++) {
1861 filter_new_scanline();
1862 for (int x = 0; x < destW; x++) {
1863 destPixels[destOffset + x] =
1864 blend_sub_pin(destPixels[destOffset + x], filter_bilinear());
1865 sX += dx;
1866 }
1867 destOffset += screenW;
1868 srcYOffset += dy;
1869 }
1870 break;
1871
1872 case LIGHTEST:
1873 for (int y = 0; y < destH; y++) {
1874 filter_new_scanline();
1875 for (int x = 0; x < destW; x++) {
1876 destPixels[destOffset + x] =
1877 blend_lightest(destPixels[destOffset + x], filter_bilinear());

Callers 1

blitResizeMethod · 0.95

Calls 15

filter_new_scanlineMethod · 0.95
blend_blendMethod · 0.95
filter_bilinearMethod · 0.95
blend_add_pinMethod · 0.95
blend_sub_pinMethod · 0.95
blend_lightestMethod · 0.95
blend_darkestMethod · 0.95
blend_differenceMethod · 0.95
blend_exclusionMethod · 0.95
blend_multiplyMethod · 0.95
blend_screenMethod · 0.95
blend_overlayMethod · 0.95

Tested by

no test coverage detected