Skip to content

Instantly share code, notes, and snippets.

@kirillrocks
Created August 14, 2017 09:14
Show Gist options
  • Save kirillrocks/2144c3c20e866081bb0e528d28a87477 to your computer and use it in GitHub Desktop.
Save kirillrocks/2144c3c20e866081bb0e528d28a87477 to your computer and use it in GitHub Desktop.
<?php
$image_width = 1980;
$image_height = 1080;
//Calculation:
$DPI = 180; // From admin
$MinimumPrintSize = 5; // Fromt admin
$MaxPrintSize = Floor($image_width / $DPI );
$NPSS = $MaxPrintSize - $MinimumPrintSize; //Number of possible, lets say it was 5
$List_of_Amount = array(
0 => array(
'amount' => 5000,
'size_w' => 0,
'size_h' => 0,
),
1 => array(
'amount' => 2000,
'size_w' => 0,
'size_h' => 0,
),
2 => array(
'amount' => 1000,
'size_w' => 0,
'size_h' => 0,
),
3 => array(
'amount' => 500,
'size_w' => 0,
'size_h' => 0,
),
4 => array(
'amount' => 200,
'size_w' => 0,
'size_h' => 0,
),
5 => array(
'amount' => 100,
'size_w' => 0,
'size_h' => 0,
),
6 => array(
'amount' => 50,
'size_w' => 0,
'size_h' => 0,
),
7 => array(
'amount' => 20,
'size_w' => 0,
'size_h' => 0,
),
8 => array(
'amount' => 10,
'size_w' => 0,
'size_h' => 0,
),
9 => array(
'amount' => 5,
'size_w' => 0,
'size_h' => 0,
),
10 => array(
'amount' => 2,
'size_w' => 0,
'size_h' => 0,
),
11 => array(
'amount' => 1,
'size_w' => 0,
'size_h' => 0,
),
); // the one from previous(1=>5000, 2=>2000 and etc.)
$List_of_Sizes = array(
); // the one from previous(1=>5000, 2=>2000 and etc.)
Switch ($NPSS) {
Case 1:
Case 2:
Case 3:
Case 4:
Case 5:
Case 6:
Case 7:
$Num_of_sizes = $NPSS;
for ( $i=0; $i++; $i < $Num_of_sizes ) {
$List_of_Sizes[$i]['amount'] = $List_of_Amount[$i]['amount']; // 5+0
$List_of_Sizes[$i]['size_w'] = $MinimumPrintSize + $i; // 5+0
$List_of_Sizes[$i]['size_h'] = $List_of_Sizes[$i]['size_w'] / $image_width * $image_height;
}
Break;
Case 8:
Case 9:
Case 10:
Case 11:
Case 12:
Case 13:
$N = $NPPS - 6 ;
$Num_of_sizes = 7 ;
for( $i = 0; $i++; $i < $N ) {
$List_of_Sizes[$i] = 5 + 2 * $i;
}
for( $i = $N; $i++; $i < $Num_of_sizes ) {
$List_of_Sizes[$i] = $NPSS - 2 + $i;
}
break;
Case 14:
Case 15:
Case 16:
Case 17:
Case 18:
Case 19:
Case 20:
Case 21:
Case 22:
Case 23:
$Num_of_sizes = round(( $NPSS + 1 ) / 2 );
//$List_of_Sizes[$Num_of_sizes - 1] = $NPSS + 4; NOT NEEDED???
for( $i = 0; $i++; $i < $Num_of_sizes - 1) {
$List_of_Sizes[$i]['amount'] = $List_of_Amount[$i]['amount']; // 5+0
$List_of_Sizes[$i]['size_w'] = $MinimumPrintSize + 2 * $i; // 5+0
$List_of_Sizes[$i]['size_h'] = $List_of_Sizes[$i]['size_w'] / $image_width * $image_height;
}
break;
Case 24:
Case 25:
Case 26:
Case 27:
Case 28:
Case 29:
Case 30:
Case 31:
Case 32:
$N = $NPSS - 22;
$Num_of_sizes = 12;
for( $i = 0; $i++; $i < $N ) {
$List_of_Sizes[$i] = 5 + 3 * $i;
}
for( $i = $N; $i++; $i < $Num_of_sizes ) {
$List_of_Sizes[$i] = $NPSS - 18 + 2 * $i ;
}
break;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment